• Caitlin Potter's avatar
    [builtins] implement RunMicrotasks pump as a code stub · 52ff3ae4
    Caitlin Potter authored
    - 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.
    
    Bug: 
    Change-Id: I4667d4dd633d24455ea5d7cef239da0af1a7365e
    Reviewed-on: https://chromium-review.googlesource.com/650486
    Commit-Queue: Caitlin Potter <caitp@igalia.com>
    Reviewed-by: 's avatarMichael Starzinger <mstarzinger@chromium.org>
    Reviewed-by: 's avatarBenedikt Meurer <bmeurer@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#49842}
    52ff3ae4
Name
Last commit
Last update
..
await-promise-expected.txt Loading commit data...
await-promise.js Loading commit data...
call-function-on-async-expected.txt Loading commit data...
call-function-on-async.js Loading commit data...
clear-of-command-line-api-expected.txt Loading commit data...
clear-of-command-line-api.js Loading commit data...
client-console-api-message-expected.txt Loading commit data...
client-console-api-message.js Loading commit data...
command-line-api-expected.txt Loading commit data...
command-line-api.js Loading commit data...
compile-script-expected.txt Loading commit data...
compile-script.js Loading commit data...
console-api-repeated-in-console-expected.txt Loading commit data...
console-api-repeated-in-console.js Loading commit data...
console-assert-expected.txt Loading commit data...
console-assert.js Loading commit data...
console-context-expected.txt Loading commit data...
console-context.js Loading commit data...
console-deprecated-methods-expected.txt Loading commit data...
console-deprecated-methods.js Loading commit data...
console-line-and-column-expected.txt Loading commit data...
console-line-and-column.js Loading commit data...
console-log-doesnt-run-microtasks-expected.txt Loading commit data...
console-log-doesnt-run-microtasks.js Loading commit data...
console-memory-expected.txt Loading commit data...
console-memory.js Loading commit data...
console-messages-limits-expected.txt Loading commit data...
console-messages-limits.js Loading commit data...
console-methods-expected.txt Loading commit data...
console-methods.js Loading commit data...
console-spec-expected.txt Loading commit data...
console-spec.js Loading commit data...
console-time-end-format-expected.txt Loading commit data...
console-time-end-format.js Loading commit data...
console-time-repeat-expected.txt Loading commit data...
console-time-repeat.js Loading commit data...
console-timestamp-expected.txt Loading commit data...
console-timestamp.js Loading commit data...
context-destroyed-on-context-collected-expected.txt Loading commit data...
context-destroyed-on-context-collected.js Loading commit data...
create-context-expected.txt Loading commit data...
create-context.js Loading commit data...
es6-module-expected.txt Loading commit data...
es6-module.js Loading commit data...
evaluate-async-expected.txt Loading commit data...
evaluate-async-with-wrap-error-expected.txt Loading commit data...
evaluate-async-with-wrap-error.js Loading commit data...
evaluate-async.js Loading commit data...
evaluate-empty-stack-expected.txt Loading commit data...
evaluate-empty-stack.js Loading commit data...
evaluate-with-context-id-equal-zero-expected.txt Loading commit data...
evaluate-with-context-id-equal-zero.js Loading commit data...
evaluate-with-generate-preview-expected.txt Loading commit data...
evaluate-with-generate-preview.js Loading commit data...
exception-thrown-expected.txt Loading commit data...
exception-thrown.js Loading commit data...
function-scopes-expected.txt Loading commit data...
function-scopes.js Loading commit data...
get-properties-expected.txt Loading commit data...
get-properties-on-proxy-expected.txt Loading commit data...
get-properties-on-proxy.js Loading commit data...
get-properties-preview-expected.txt Loading commit data...
get-properties-preview.js Loading commit data...
get-properties.js Loading commit data...
internal-properties-entries-expected.txt Loading commit data...
internal-properties-entries.js Loading commit data...
internal-properties-expected.txt Loading commit data...
internal-properties.js Loading commit data...
length-or-size-description-expected.txt Loading commit data...
length-or-size-description.js Loading commit data...
property-on-console-proto-expected.txt Loading commit data...
property-on-console-proto.js Loading commit data...
protocol-works-with-different-locale-expected.txt Loading commit data...
protocol-works-with-different-locale.js Loading commit data...
query-objects-expected.txt Loading commit data...
query-objects.js Loading commit data...
regression-732717-expected.txt Loading commit data...
regression-732717.js Loading commit data...
regression-736302-expected.txt Loading commit data...
regression-736302.js Loading commit data...
run-script-async-expected.txt Loading commit data...
run-script-async.js Loading commit data...
runtime-disable-preserve-injected-script-expected.txt Loading commit data...
runtime-disable-preserve-injected-script.js Loading commit data...
runtime-evaluate-with-dirty-context-expected.txt Loading commit data...
runtime-evaluate-with-dirty-context.js Loading commit data...
runtime-get-properties-and-accessor-expected.txt Loading commit data...
runtime-get-properties-and-accessor.js Loading commit data...
runtime-global-lexical-scope-names-expected.txt Loading commit data...
runtime-global-lexical-scope-names.js Loading commit data...
runtime-restore-expected.txt Loading commit data...
runtime-restore.js Loading commit data...
set-or-map-entries-expected.txt Loading commit data...
set-or-map-entries.js Loading commit data...