• bjaideep's avatar
    PPC/s390: Inline Array.prototype.forEach in TurboFan · 0732cbee
    bjaideep authored
    Port 90c3a2d5
    
    Original Commit Message:
    
        This CL contains a few pieces:
    
        - A new mechanism to create "BuiltinContinuation" checkpoints in TurboFan
          graphs, which--when triggered--swizzle the values in the the FrameState to be
          parameters to a typically TF-generated builtin that resumes execution to finish
          the slow-case functionality.
        - Continuation builtins that have special handling in the deoptimizer and their own
          new frame type to ensure that the values they need to begin executing can be stashed
          away and restored immediately before the builtin is called via a trampoline that runs
          when the continuation builtin's frame execution resumes.
        - An implementation of Array.prototype.forEach in TurboFan that can be used to
          inline it. The inlined forEach implementation uses the checkpoints mechanism
          described above to deopt in the middle of the forEach in the cases that optimization
          invariants are violated. There is a slightly different continuation stub for each
          deopt point in the forEach implementation to ensure the correct side-effects, i.e.
          that the deopt of the builtin isn't programmatically observable.
    
    R=danno@chromium.org, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com
    BUG=
    LOG=N
    
    Review-Url: https://codereview.chromium.org/2926043005
    Cr-Commit-Position: refs/heads/master@{#45798}
    0732cbee
Name
Last commit
Last update
..
arm Loading commit data...
arm64 Loading commit data...
ia32 Loading commit data...
mips Loading commit data...
mips64 Loading commit data...
ppc Loading commit data...
s390 Loading commit data...
x64 Loading commit data...
x87 Loading commit data...
builtins-api.cc Loading commit data...
builtins-arguments-gen.cc Loading commit data...
builtins-arguments-gen.h Loading commit data...
builtins-array-gen.cc Loading commit data...
builtins-array.cc Loading commit data...
builtins-arraybuffer.cc Loading commit data...
builtins-async-function-gen.cc Loading commit data...
builtins-async-gen.cc Loading commit data...
builtins-async-gen.h Loading commit data...
builtins-async-generator-gen.cc Loading commit data...
builtins-async-iterator-gen.cc Loading commit data...
builtins-boolean-gen.cc Loading commit data...
builtins-boolean.cc Loading commit data...
builtins-call-gen.cc Loading commit data...
builtins-call-gen.h Loading commit data...
builtins-call.cc Loading commit data...
builtins-callsite.cc Loading commit data...
builtins-collections-gen.cc Loading commit data...
builtins-console-gen.cc Loading commit data...
builtins-console.cc Loading commit data...
builtins-constructor-gen.cc Loading commit data...
builtins-constructor-gen.h Loading commit data...
builtins-constructor.h Loading commit data...
builtins-conversion-gen.cc Loading commit data...
builtins-conversion-gen.h Loading commit data...
builtins-dataview.cc Loading commit data...
builtins-date-gen.cc Loading commit data...
builtins-date.cc Loading commit data...
builtins-debug-gen.cc Loading commit data...
builtins-definitions.h Loading commit data...
builtins-descriptors.h Loading commit data...
builtins-error.cc Loading commit data...
builtins-forin-gen.cc Loading commit data...
builtins-forin-gen.h Loading commit data...
builtins-function-gen.cc Loading commit data...
builtins-function.cc Loading commit data...
builtins-generator-gen.cc Loading commit data...
builtins-global-gen.cc Loading commit data...
builtins-global.cc Loading commit data...
builtins-handler-gen.cc Loading commit data...
builtins-ic-gen.cc Loading commit data...
builtins-internal-gen.cc Loading commit data...
builtins-internal.cc Loading commit data...
builtins-interpreter-gen.cc Loading commit data...
builtins-interpreter.cc Loading commit data...
builtins-intl-gen.cc Loading commit data...
builtins-intl.cc Loading commit data...
builtins-iterator-gen.cc Loading commit data...
builtins-iterator-gen.h Loading commit data...
builtins-json.cc Loading commit data...
builtins-math-gen.cc Loading commit data...
builtins-math.cc Loading commit data...
builtins-number-gen.cc Loading commit data...
builtins-number.cc Loading commit data...
builtins-object-gen.cc Loading commit data...
builtins-object.cc Loading commit data...
builtins-promise-gen.cc Loading commit data...
builtins-promise-gen.h Loading commit data...
builtins-proxy.cc Loading commit data...
builtins-reflect.cc Loading commit data...
builtins-regexp-gen.cc Loading commit data...
builtins-regexp-gen.h Loading commit data...
builtins-regexp.cc Loading commit data...
builtins-sharedarraybuffer-gen.cc Loading commit data...
builtins-sharedarraybuffer.cc Loading commit data...
builtins-string-gen.cc Loading commit data...
builtins-string-gen.h Loading commit data...
builtins-string.cc Loading commit data...
builtins-symbol-gen.cc Loading commit data...
builtins-symbol.cc Loading commit data...
builtins-typedarray-gen.cc Loading commit data...
builtins-typedarray.cc Loading commit data...
builtins-utils-gen.h Loading commit data...
builtins-utils.h Loading commit data...
builtins-wasm-gen.cc Loading commit data...
builtins.cc Loading commit data...
builtins.h Loading commit data...
setup-builtins-internal.cc Loading commit data...