• Junliang Yan's avatar
    PPC/s390: [builtins] implement RunMicrotasks pump as a code stub · 4bc48c21
    Junliang Yan authored
    Port 52ff3ae4
    
    Original Commit Message:
    
        - Implement RunMicrotasks in CSA to prevent a potentially large number
          of jumps between C++ and JS code while consuming te queue. Appears to
          provide a ~60% speedup in microtask-heavy code, which from limited
          testing appears to scale linearly.
    
          The code-stub microtask pump bails out to the old C++ microtask pump
          if it encounters a CallHandlerInfo microtask, and remains in C++ for
          the remainder of the queue (returning to the JS/stub implementation
          after the bailed out queue is exhausted).
    
        - Add a variation of JSEntryStub which enters the new RunMicrotasks code
          stub.
    
        - Add a new RunMicrotasks helper to Execution, which uses the
          RunMicrotasks entry stub.
    
    R=caitp@igalia.com, joransiu@ca.ibm.com, jbarboza@ca.ibm.com
    BUG=
    LOG=N
    
    Change-Id: Ifa15ca19312bb92758e82d19c3e3fc0a8b908d82
    Reviewed-on: https://chromium-review.googlesource.com/820197Reviewed-by: 's avatarJoran Siu <joransiu@ca.ibm.com>
    Commit-Queue: Junliang Yan <jyan@ca.ibm.com>
    Cr-Commit-Position: refs/heads/master@{#50018}
    4bc48c21
Name
Last commit
Last update
benchmarks Loading commit data...
build_overrides Loading commit data...
docs Loading commit data...
gni Loading commit data...
gypfiles Loading commit data...
include Loading commit data...
infra Loading commit data...
samples Loading commit data...
src Loading commit data...
test Loading commit data...
testing Loading commit data...
third_party Loading commit data...
tools Loading commit data...
.clang-format Loading commit data...
.editorconfig Loading commit data...
.git-blame-ignore-revs Loading commit data...
.gitignore Loading commit data...
.gn Loading commit data...
.vpython Loading commit data...
.ycm_extra_conf.py Loading commit data...
AUTHORS Loading commit data...
BUILD.gn Loading commit data...
CODE_OF_CONDUCT.md Loading commit data...
ChangeLog Loading commit data...
DEPS Loading commit data...
LICENSE Loading commit data...
LICENSE.fdlibm Loading commit data...
LICENSE.strongtalk Loading commit data...
LICENSE.v8 Loading commit data...
LICENSE.valgrind Loading commit data...
Makefile Loading commit data...
Makefile.android Loading commit data...
OWNERS Loading commit data...
PRESUBMIT.py Loading commit data...
README.md Loading commit data...
WATCHLISTS Loading commit data...
codereview.settings Loading commit data...
snapshot_toolchain.gni Loading commit data...