1. 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
  2. 06 Dec, 2016 3 commits
  3. 05 Dec, 2016 1 commit
    • gsathya's avatar
      Object · 30b564c7
      gsathya authored
      -- New JSObject for promises: JSPromise
      
      Builtins
      -- PromiseThen TFJ
      -- PromiseCreateAndSet TFJ for internal use
      -- PerformPromiseThen TFJ for internal use
      -- PromiseInit for initial promise setup
      -- SpeciesConstructor for use in PromiseThen
      -- ThrowIfNotJSReceiver for use in SpeciesConstructor
      -- AppendPromiseCallback to update FixedArray with new callback
      -- InternalPerformPromiseThen
      
      Promises.js
      -- Cleanup unused symbols
      -- Remove PerformPromiseThen
      -- Remove PromiseThen
      -- Remove PromiseSet
      -- Remove PromiseAttachCallbacks
      
      Runtime
      -- PromiseSet to set promise inobject values
      -- Refactor functions to use FixedArrays for callbacks instead of
         JSArray
      -- Runtime_PromiseStatus to return promise status
      -- Runtime_PromiseResult to return promise result
      -- Runtime_PromiseDeferred to return deferred attached to promise
      -- Runtime_PromiseRejectReactions to return reject reactions attached
         to promise
      
      This CL results in a 13.07% improvement in the promises benchmark
      (over 5 runs).
      
      BUG=v8:5343
      
      Review-Url: https://codereview.chromium.org/2536463002
      Cr-Commit-Position: refs/heads/master@{#41503}
      30b564c7
  4. 01 Dec, 2016 1 commit
  5. 11 Nov, 2016 1 commit
    • gsathya's avatar
      [promises] Remove one runtime call to create_resolving_functions · ec61e6b4
      gsathya authored
      - Creates a new promise-utils.{h, cc} which refactors out the
      logic to create resolving functions. This is shared between the
      runtime functions and builtins.
      
      - Changes PromiseResolveThenableJobInfo to store the context
      since we no longer create the resolving functions in JS.
      
      - Changes EnqueuPromiseResolveThenableJob to take in the promise and
        not the callbacks.
      
      BUG=v8:5343
      
      Review-Url: https://codereview.chromium.org/2487053002
      Cr-Commit-Position: refs/heads/master@{#40941}
      ec61e6b4
  6. 27 Oct, 2016 2 commits