1. 31 May, 2017 1 commit
  2. 11 Apr, 2017 1 commit
  3. 07 Apr, 2017 2 commits
  4. 06 Apr, 2017 3 commits
    • Franziska Hinkelmann's avatar
      Revert "[builtins] don't inline calls for common Promise ops in async builtins" · c931820d
      Franziska Hinkelmann authored
      This reverts commit 9461fe24.
      
      Reason for revert: Breaks a test in Node.js: 
       parallel/test-util-inspect
      
      === release test-util-inspect ===                                              
      Path: parallel/test-util-inspect
      #
      # Fatal error in , line 0
      # unreachable code
      #
      
      ==== C stack trace ===============================
      
      
      Original change's description:
      > [builtins] don't inline calls for common Promise ops in async builtins
      > 
      > InternalResolvePromise, InternalPromiseReject and
      > InternalPerformPromiseThen generate quite a lot of code.
      > 
      > This change adds 3 new TF stubs which inline calls to these builtins.
      > These stubs are invoked rather than inlining those operations listed
      > above directly. This is done for Async Iteration builtins, as well as
      > Async Function builtins. Promise builtins are left as they were, and
      > continue to inline these calls.
      > 
      > This results in a roughly 99kb reduction in snapshot_blob.bin on an x64
      > release build.
      > 
      > BUG=v8:5855
      > R=​gsathya@chromium.org, jgruber@chromium.org
      > 
      > Change-Id: I3349d0f0353a72270ae40b974312d64d1c8a9e46
      > Reviewed-on: https://chromium-review.googlesource.com/461269
      > Commit-Queue: Caitlin Potter <caitp@igalia.com>
      > Reviewed-by: Michael Starzinger <mstarzinger@chromium.org>
      > Reviewed-by: Sathya Gunasekaran (ooo until April 10) <gsathya@chromium.org>
      > Reviewed-by: Jakob Gruber <jgruber@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#44445}
      
      TBR=mstarzinger@chromium.org,gsathya@chromium.org,caitp@igalia.com,jgruber@chromium.org,v8-reviews@googlegroups.com,bmeurer@chromium.org
      NOPRESUBMIT=true
      NOTREECHECKS=true
      NOTRY=true
      BUG=v8:5855
      
      Change-Id: Iabcdf8b025cc9b053a858f8e74389638ac000ba0
      Reviewed-on: https://chromium-review.googlesource.com/469946Reviewed-by: 's avatarFranziska Hinkelmann <franzih@chromium.org>
      Commit-Queue: Franziska Hinkelmann <franzih@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#44448}
      c931820d
    • Caitlin Potter's avatar
      [builtins] don't inline calls for common Promise ops in async builtins · 9461fe24
      Caitlin Potter authored
      InternalResolvePromise, InternalPromiseReject and
      InternalPerformPromiseThen generate quite a lot of code.
      
      This change adds 3 new TF stubs which inline calls to these builtins.
      These stubs are invoked rather than inlining those operations listed
      above directly. This is done for Async Iteration builtins, as well as
      Async Function builtins. Promise builtins are left as they were, and
      continue to inline these calls.
      
      This results in a roughly 99kb reduction in snapshot_blob.bin on an x64
      release build.
      
      BUG=v8:5855
      R=gsathya@chromium.org, jgruber@chromium.org
      
      Change-Id: I3349d0f0353a72270ae40b974312d64d1c8a9e46
      Reviewed-on: https://chromium-review.googlesource.com/461269
      Commit-Queue: Caitlin Potter <caitp@igalia.com>
      Reviewed-by: 's avatarMichael Starzinger <mstarzinger@chromium.org>
      Reviewed-by: 's avatarSathya Gunasekaran (ooo until April 10) <gsathya@chromium.org>
      Reviewed-by: 's avatarJakob Gruber <jgruber@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#44445}
      9461fe24
    • Camillo Bruni's avatar
      [csa] Use BIND macro for debug information · fb640997
      Camillo Bruni authored
      Change-Id: Ie84fbc26a3f3782564f3d0734c284f19a75853f3
      Reviewed-on: https://chromium-review.googlesource.com/469826Reviewed-by: 's avatarJakob Kummerow <jkummerow@chromium.org>
      Commit-Queue: Camillo Bruni <cbruni@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#44438}
      fb640997
  5. 29 Mar, 2017 1 commit
    • Caitlin Potter's avatar
      [async-iteration] implement AsyncGenerator · bf463c4d
      Caitlin Potter authored
      - Introduce new struct AsyncGeneratorRequest, which holds
        information pertinent to resuming execution of an
        AsyncGenerator, such as the Promise associated with the async
        generator request. It is intended to be used as a singly
        linked list, and holds a pointer to the next item in te queue.
      
      - Introduce JSAsyncGeneratorObject (subclass of
        JSGeneratorObject), which includes several new internal fields
        (`queue` which contains a singly linked list of
        AsyncGeneratorRequest objects, and `await_input` which
        contains the sent value from an Await expression (This is
        necessary to prevent function.sent (used by yield*) from
        having the sent value observably overwritten during
        execution).
      
      - Modify SuspendGenerator to accept a set of Flags, which
        indicate whether the suspend is for a Yield or Await, and
        whether it takes place on an async generator or ES6
        generator.
      
      - Introduce interpreter intrinsics and TF intrinsic lowering for
        accessing the await input of an async generator
      
      - Modify the JSGeneratorStore operator to understand whether or
        not it's suspending for a normal yield, or an AsyncGenerator
        Await. This ensures appropriate registers are stored.
      
      - Add versions of ResumeGeneratorTrampoline which store the
        input value in a different field depending on wether it's an
        AsyncGenerator Await resume, or an ordinary resume. Also modifies
        whether debug code will assert that the generator object is a
        JSGeneratorObject or a JSAsyncGeneratorObject depending on the
        resume type.
      
      BUG=v8:5855
      R=bmeurer@chromium.org, rmcilroy@chromium.org, jgruber@chromium.org,
      littledan@chromium.org, neis@chromium.org
      TBR=marja@chromium.org
      
      Change-Id: I9d58df1d344465fc937fe7eed322424204497187
      Reviewed-on: https://chromium-review.googlesource.com/446961
      Commit-Queue: Caitlin Potter <caitp@igalia.com>
      Reviewed-by: 's avatarRoss McIlroy <rmcilroy@chromium.org>
      Reviewed-by: 's avatarHannes Payer <hpayer@chromium.org>
      Reviewed-by: 's avatarBenedikt Meurer <bmeurer@chromium.org>
      Reviewed-by: 's avatarJakob Gruber <jgruber@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#44240}
      bf463c4d
  6. 21 Mar, 2017 2 commits
  7. 16 Mar, 2017 1 commit
  8. 24 Feb, 2017 1 commit