Commit 5b48a13a authored by Milad Fa's avatar Milad Fa Committed by V8 LUCI CQ

s390: [sparkplug] Use separate WriteBarrier stubs

Port 2a43f8c4

Original Commit Message:

    Inline the RememberedSetAction and SaveFPMode flags directly into the
    RecordWrite stubs:
    - Save two register for input arguments
    - Avoid branches in the RecordWrite stubs

    We end up with 2 stubs for the EphemeronKeyBarrier and 4 stubs for
    RecordWrite. Due to more inlined calls we have roughly 1KiB more
    builtins code for RecordWrite currently. We will address this in the
    future by splitting out common code into a separate stub. There is
    no additional code size overhead for EphemeronKeyBarrier.

    This saves 4 to 8 bytes on x64 per RecordWrite call and 2.5% sparkplug
    code size reduction on d3.min.js.

R=cbruni@chromium.org, joransiu@ca.ibm.com, junyan@redhat.com, midawson@redhat.com
BUG=
LOG=N

Change-Id: Iaab3d0aad9f90a942459ac63a641c52246a4afa1
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2906012Reviewed-by: 's avatarJunliang Yan <junyan@redhat.com>
Commit-Queue: Milad Fa <mfarazma@redhat.com>
Cr-Commit-Position: refs/heads/master@{#74674}
parent 5ef4e14f
...@@ -926,7 +926,7 @@ void TurboAssembler::CallRecordWriteStub( ...@@ -926,7 +926,7 @@ void TurboAssembler::CallRecordWriteStub(
Call(ip); Call(ip);
} else { } else {
Handle<Code> code_target = Handle<Code> code_target =
isolate()->builtins()->builtin_handle(builtin_indexe); isolate()->builtins()->builtin_handle(builtin_index);
Call(code_target, RelocInfo::CODE_TARGET); Call(code_target, RelocInfo::CODE_TARGET);
} }
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment