1. 24 Jun, 2020 1 commit
  2. 06 Dec, 2018 1 commit
    • tzik's avatar
      Replace %RunMicrotasks with %PerformMicrotaskCheckpoint · 07011cc4
      tzik authored
      This replaces Runtime_RunMicrotasks with Runtime_PerformMicrotaskCheckpoint.
      
      RunMicrotasks forcibly runs Microtasks even when the microtasks are suppressed,
      and may causes nested Microtasks in a problematic way. E.g. that confuses
      v8::MicrotasksScope::IsRunningMicrotasks() and GetEnteredOrMicrotaskContext().
      
      OTOH, PerformMicrotaskCheckpoint() doesn't run cause the failure as it
      respects the microtask suppressions.
      
      As all existing tests don't call RunMicrotasks() in the suppressed situation
      (like Promise.resolve().then(()=>{%RunMicrotasks();})), this change should
      not affect to these tests.
      
      Change-Id: Ib043a0cc8e482e022d375084d65ea98a6f54ef3d
      Reviewed-on: https://chromium-review.googlesource.com/c/1360095Reviewed-by: 's avatarYang Guo <yangguo@chromium.org>
      Commit-Queue: Taiju Tsuiki <tzik@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#58068}
      07011cc4
  3. 20 Jan, 2017 1 commit
  4. 10 Jan, 2017 1 commit
  5. 08 Dec, 2016 1 commit
    • gsathya's avatar
      [promises] Port ResolvePromise to TF · 11359e33
      gsathya authored
      -- Moves promiseHasHandlerSymbol to inobject property
      -- Ports PromiseResolveClosure to TF
      -- Fix a non spec async-await test which fails now because we do a map
      check for native promise check (instead of IsPromise). Changing the
      constructor (in the test) invalidates the map check.
      
      This patch results in a 7.1% performance improvement in the bluebird
      benchmark (over 5 runs).
      
      BUG=v8:5343
      
      Review-Url: https://codereview.chromium.org/2541283002
      Cr-Commit-Position: refs/heads/master@{#41569}
      11359e33
  6. 06 Aug, 2016 1 commit
    • littledan's avatar
      [promise] Async/await edge case spec compliance fix · 7826bfa7
      littledan authored
      - Don't read .constructor when returning a Promise from an async function.
        Instead, call out to the internals of Promise.resolve directly.
        This is done by adding back in an "optimization" from an earlier form of
        the async/await code written by Caitlin Potter.
      - Async functions always return a new Promise with a distinct identity,
        even if they simply return another Promise.
      
      R=caitp@igalia.com
      BUG=v8:4483
      
      Review-Url: https://codereview.chromium.org/2219623002
      Cr-Commit-Position: refs/heads/master@{#38404}
      7826bfa7