• Camillo Bruni's avatar
    Reland "[builtins][x64] Use callee-saved registers for write barrier stubs" · 8ff87ecc
    Camillo Bruni authored
    This is a reland of 17915002 with an
    added fix for TurboAssembler::CallTSANRelaxedStoreStub.
    
    Original change's description:
    > [builtins][x64] Use callee-saved registers for write barrier stubs
    >
    > Calls to the record write stub are quite frequent and the caller has to
    > save all registers used by the builtin.
    >
    > This CL moves the register saving to the builtin itself, reducing the
    > call-site code size significantly in many cases and thus improving
    > compilation speed of sparkplug.
    >
    > Follow-up CLs with introduce the same behaviour to other platforms.
    >
    > - CallRecordWriteStubSaveRegisters preserves the existing behaviour and
    >   saves clobbered registers.
    > - CallRecordWriteStub expects the registers to match the ones specified
    >   in the WriteBarrierDescriptor for more compact code.
    >
    > Bug: v8:11420
    > Change-Id: Ib1260cf972712bb9ba879beacd34b06a7fa347f1
    > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2922103
    > Reviewed-by: Santiago Aboy Solanes <solanes@chromium.org>
    > Reviewed-by: Andreas Haas <ahaas@chromium.org>
    > Commit-Queue: Camillo Bruni <cbruni@chromium.org>
    > Cr-Commit-Position: refs/heads/master@{#74831}
    
    Bug: v8:11420
    Change-Id: Ibac3e6f0360d35579ee0b0dc5d698f8cdab93260
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2922604Reviewed-by: 's avatarSantiago Aboy Solanes <solanes@chromium.org>
    Reviewed-by: 's avatarAndreas Haas <ahaas@chromium.org>
    Commit-Queue: Camillo Bruni <cbruni@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#74870}
    8ff87ecc
Name
Last commit
Last update
..
baseline Loading commit data...
DEPS Loading commit data...
DIR_METADATA Loading commit data...
OWNERS Loading commit data...
branch-hint-map.h Loading commit data...
c-api.cc Loading commit data...
c-api.h Loading commit data...
code-space-access.h Loading commit data...
compilation-environment.h Loading commit data...
decoder.h Loading commit data...
function-body-decoder-impl.h Loading commit data...
function-body-decoder.cc Loading commit data...
function-body-decoder.h Loading commit data...
function-compiler.cc Loading commit data...
function-compiler.h Loading commit data...
graph-builder-interface.cc Loading commit data...
graph-builder-interface.h Loading commit data...
jump-table-assembler.cc Loading commit data...
jump-table-assembler.h Loading commit data...
leb-helper.h Loading commit data...
local-decl-encoder.cc Loading commit data...
local-decl-encoder.h Loading commit data...
memory-protection-key.cc Loading commit data...
memory-protection-key.h Loading commit data...
memory-tracing.cc Loading commit data...
memory-tracing.h Loading commit data...
module-compiler.cc Loading commit data...
module-compiler.h Loading commit data...
module-decoder.cc Loading commit data...
module-decoder.h Loading commit data...
module-instantiate.cc Loading commit data...
module-instantiate.h Loading commit data...
object-access.h Loading commit data...
signature-map.cc Loading commit data...
signature-map.h Loading commit data...
simd-shuffle.cc Loading commit data...
simd-shuffle.h Loading commit data...
streaming-decoder.cc Loading commit data...
streaming-decoder.h Loading commit data...
struct-types.h Loading commit data...
sync-streaming-decoder.cc Loading commit data...
value-type.cc Loading commit data...
value-type.h Loading commit data...
wasm-arguments.h Loading commit data...
wasm-code-manager.cc Loading commit data...
wasm-code-manager.h Loading commit data...
wasm-constants.h Loading commit data...
wasm-debug.cc Loading commit data...
wasm-debug.h Loading commit data...
wasm-engine.cc Loading commit data...
wasm-engine.h Loading commit data...
wasm-external-refs.cc Loading commit data...
wasm-external-refs.h Loading commit data...
wasm-feature-flags.h Loading commit data...
wasm-features.cc Loading commit data...
wasm-features.h Loading commit data...
wasm-import-wrapper-cache.cc Loading commit data...
wasm-import-wrapper-cache.h Loading commit data...
wasm-init-expr.h Loading commit data...
wasm-js.cc Loading commit data...
wasm-js.h Loading commit data...
wasm-limits.h Loading commit data...
wasm-linkage.h Loading commit data...
wasm-module-builder.cc Loading commit data...
wasm-module-builder.h Loading commit data...
wasm-module-sourcemap.cc Loading commit data...
wasm-module-sourcemap.h Loading commit data...
wasm-module.cc Loading commit data...
wasm-module.h Loading commit data...
wasm-objects-inl.h Loading commit data...
wasm-objects.cc Loading commit data...
wasm-objects.h Loading commit data...
wasm-objects.tq Loading commit data...
wasm-opcodes-inl.h Loading commit data...
wasm-opcodes.cc Loading commit data...
wasm-opcodes.h Loading commit data...
wasm-result.cc Loading commit data...
wasm-result.h Loading commit data...
wasm-serialization.cc Loading commit data...
wasm-serialization.h Loading commit data...
wasm-subtyping.cc Loading commit data...
wasm-subtyping.h Loading commit data...
wasm-tier.h Loading commit data...
wasm-value.h Loading commit data...