-
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: 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@{#74870}
8ff87ecc