• Benedikt Meurer's avatar
    [async] Reduce generated size of `await` builtins. · 8201da29
    Benedikt Meurer authored
    There's a AsyncBuiltinsAssembler::InitializeNativeClosure() helper which
    is used by the `await` builtins to initialize the native closures, which
    are registered as fulfill/reject handlers. This helper initializes a
    JSFunction based on the builtin SharedFunctionInfo. Since we are dealing
    with builtins here, there's no point in using the fully generic helper
    CodeStubAssembler::GetSharedFunctionInfoCode(), but we can immediately
    assume that the SharedFunctionInfo::function_data() field contains a Smi
    builtin index (guarded by TNode CASTs).
    
    This almost cuts the generated code size for the `await` builtins in a
    half, and might also yield some performance improvements due to reduced
    register and instruction cache pressure.
    
    Bug: v8:7253, v8:8238
    Change-Id: I3415c2f9e0f04a7154c4bf4c3fe8156854dbfe13
    Reviewed-on: https://chromium-review.googlesource.com/c/1281604Reviewed-by: 's avatarSathya Gunasekaran <gsathya@chromium.org>
    Commit-Queue: Benedikt Meurer <bmeurer@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#56662}
    8201da29
builtins-async-gen.cc 14.7 KB