• Caitlin Potter's avatar
    [async-await] desugar Await in BytecodeGenerator · 8b5b444a
    Caitlin Potter authored
    This includes several changes. From most to least interesting:
    
    - No longer implement AwaitExpressions using a do-expression.
    - Reduces frame-size of async generators by not allocating temporary
      variables to hold results of Await epxressions.
    - Streamline and reduce generated bytecodes for Await.
    - Debugger no longer emits a debug::kCallBreakLocation breakpoint for
    the JS-builtin call performed for Await, and instead only emits such
    a breakpoint if the operand of Await is actually a call.
    - Push fewer parameters to Await* builtins, using the receiver for the
      first parameter (possible now that the CallRuntime invocation not
      part of the AST).
    - Adds a new Await AST node. No new members or anything, but it seemed
      palatable to avoid having `if (is_await())` in a number of
      VisitSuspend functions.
    
    BUG=v8:5855, v8:5099, v8:4483
    R=rmcilroy@chromium.org, kozyatinskiy@chromium.org, yangguo@chromium.org
    TBR=bmeurer@chromium.org
    
    Change-Id: I9cd3fda99cd40295c04fdf1aea01b5d83fac6caf
    Reviewed-on: https://chromium-review.googlesource.com/558806
    Commit-Queue: Georg Neis <neis@chromium.org>
    Reviewed-by: 's avatarGeorg Neis <neis@chromium.org>
    Reviewed-by: 's avatarRoss McIlroy <rmcilroy@chromium.org>
    Reviewed-by: 's avatarTobias Tebbi <tebbi@chromium.org>
    Reviewed-by: 's avatarAleksey Kozyatinskiy <kozyatinskiy@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#46666}
    8b5b444a
Name
Last commit
Last update
..
OWNERS Loading commit data...
block-coverage-builder.h Loading commit data...
bytecode-array-accessor.cc Loading commit data...
bytecode-array-accessor.h Loading commit data...
bytecode-array-builder.cc Loading commit data...
bytecode-array-builder.h Loading commit data...
bytecode-array-iterator.cc Loading commit data...
bytecode-array-iterator.h Loading commit data...
bytecode-array-random-iterator.cc Loading commit data...
bytecode-array-random-iterator.h Loading commit data...
bytecode-array-writer.cc Loading commit data...
bytecode-array-writer.h Loading commit data...
bytecode-decoder.cc Loading commit data...
bytecode-decoder.h Loading commit data...
bytecode-flags.cc Loading commit data...
bytecode-flags.h Loading commit data...
bytecode-generator.cc Loading commit data...
bytecode-generator.h Loading commit data...
bytecode-jump-table.h Loading commit data...
bytecode-label.cc Loading commit data...
bytecode-label.h Loading commit data...
bytecode-node.cc Loading commit data...
bytecode-node.h Loading commit data...
bytecode-operands.cc Loading commit data...
bytecode-operands.h Loading commit data...
bytecode-register-allocator.h Loading commit data...
bytecode-register-optimizer.cc Loading commit data...
bytecode-register-optimizer.h Loading commit data...
bytecode-register.cc Loading commit data...
bytecode-register.h Loading commit data...
bytecode-source-info.cc Loading commit data...
bytecode-source-info.h Loading commit data...
bytecode-traits.h Loading commit data...
bytecodes.cc Loading commit data...
bytecodes.h Loading commit data...
constant-array-builder.cc Loading commit data...
constant-array-builder.h Loading commit data...
control-flow-builders.cc Loading commit data...
control-flow-builders.h Loading commit data...
handler-table-builder.cc Loading commit data...
handler-table-builder.h Loading commit data...
interpreter-assembler.cc Loading commit data...
interpreter-assembler.h Loading commit data...
interpreter-generator.cc Loading commit data...
interpreter-generator.h Loading commit data...
interpreter-intrinsics-generator.cc Loading commit data...
interpreter-intrinsics-generator.h Loading commit data...
interpreter-intrinsics.cc Loading commit data...
interpreter-intrinsics.h Loading commit data...
interpreter.cc Loading commit data...
interpreter.h Loading commit data...
setup-interpreter-internal.cc Loading commit data...
setup-interpreter.h Loading commit data...