1. 06 Jan, 2017 1 commit
  2. 02 Jan, 2017 1 commit
    • caitp's avatar
      [promises] port NewPromiseCapability to TF · 4f95a1eb
      caitp authored
      - Adds CodeAssembler::ConstructJS() to simplify calling JS functions as
      constructors, used by NewPromiseCapability()
      - Defines PromiseCapability as a special JSObject subclass, with a
      non-exensible Map, and read-only non-configurable DataDescriptors which
      point to its in-object fields. This allows its fields to be used by JS
      builtins until there is no longer any need.
      
      Currently, the performance benefit comes from
      https://codereview.chromium.org/2567033003/, but does not appear to
      regress performance in any significant way.
      
      BUG=v8:5343
      TBR=ulan@chromium.org
      
      Review-Url: https://codereview.chromium.org/2567333002
      Cr-Commit-Position: refs/heads/master@{#42014}
      4f95a1eb
  3. 16 Dec, 2016 1 commit
  4. 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
  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