• Junliang Yan's avatar
    PPC/s390: [async] Introduce dedicated JSAsyncFunctionObject. · 71898faf
    Junliang Yan authored
    Port a63987a4
    
    Original Commit Message:
    
        This JSAsyncFunctionObject represents the implicit generator object
        inside of async functions, and also holds the outer promise for the
        async functions. This in turn allows us to get rid of the .promise
        in the Parser / BytecodeGenerator completely, and will make it
        possible to build zero-cost async stack traces independent of the
        concrete synchronous part of the stack frame (which currently breaks
        in Node.js).
    
        In the bytecode all the async function operations now take this new
        JSAsyncFunctionObject instead of passing both the .generator_object
        and the .promise, which further simplifies and shrinks the bytecode.
        It also reduces the size of async function frames, potentially making
        the suspend/resume cheaper.
    
        This also changes `await` to use intrinsics instead of calling to
        special JSFunctions on the native context, and thus reduces the size of
        the native contexts.
    
        to TurboFan.
    
    R=bmeurer@chromium.org, joransiu@ca.ibm.com, michael_dawson@ca.ibm.com
    BUG=
    LOG=N
    
    Change-Id: Ife0aa45b11580f316e657942485907cf78336e4b
    Reviewed-on: https://chromium-review.googlesource.com/c/1276867
    Commit-Queue: Junliang Yan <jyan@ca.ibm.com>
    Reviewed-by: 's avatarJoran Siu <joransiu@ca.ibm.com>
    Cr-Commit-Position: refs/heads/master@{#56581}
    71898faf
Name
Last commit
Last update
..
OWNERS Loading commit data...
assembler-s390-inl.h Loading commit data...
assembler-s390.cc Loading commit data...
assembler-s390.h Loading commit data...
code-stubs-s390.cc Loading commit data...
code-stubs-s390.h Loading commit data...
codegen-s390.cc Loading commit data...
constants-s390.cc Loading commit data...
constants-s390.h Loading commit data...
cpu-s390.cc Loading commit data...
deoptimizer-s390.cc Loading commit data...
disasm-s390.cc Loading commit data...
frame-constants-s390.cc Loading commit data...
frame-constants-s390.h Loading commit data...
interface-descriptors-s390.cc Loading commit data...
macro-assembler-s390.cc Loading commit data...
macro-assembler-s390.h Loading commit data...
simulator-s390.cc Loading commit data...
simulator-s390.h Loading commit data...