Commit c1d5c1c5 authored by Jakob Kummerow's avatar Jakob Kummerow Committed by V8 LUCI CQ

[wasm][liftoff][x64] Allow more GpCacheRegs

r8, r12, and r15 should be usable as general allocatable registers.
This is a performance experiment. If it causes more regressions than
improvements, we can simply revert it.

Change-Id: I757c06e9d0fc760e900b228b92671d6710bf4560
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3782672
Auto-Submit: Jakob Kummerow <jkummerow@chromium.org>
Commit-Queue: Clemens Backes <clemensb@chromium.org>
Reviewed-by: 's avatarClemens Backes <clemensb@chromium.org>
Cr-Commit-Position: refs/heads/main@{#81897}
parent ccf308a0
...@@ -61,7 +61,8 @@ class WasmCompileLazyFrameConstants : public TypedFrameConstants { ...@@ -61,7 +61,8 @@ class WasmCompileLazyFrameConstants : public TypedFrameConstants {
// registers (see liftoff-assembler-defs.h). // registers (see liftoff-assembler-defs.h).
class WasmDebugBreakFrameConstants : public TypedFrameConstants { class WasmDebugBreakFrameConstants : public TypedFrameConstants {
public: public:
static constexpr RegList kPushedGpRegs = {rax, rcx, rdx, rbx, rsi, rdi, r9}; static constexpr RegList kPushedGpRegs = {rax, rcx, rdx, rbx, rsi,
rdi, r8, r9, r12, r15};
static constexpr DoubleRegList kPushedFpRegs = {xmm0, xmm1, xmm2, xmm3, static constexpr DoubleRegList kPushedFpRegs = {xmm0, xmm1, xmm2, xmm3,
xmm4, xmm5, xmm6, xmm7}; xmm4, xmm5, xmm6, xmm7};
......
...@@ -23,8 +23,12 @@ constexpr DoubleRegList kLiftoffAssemblerFpCacheRegs = {xmm0, xmm1, xmm2, xmm3, ...@@ -23,8 +23,12 @@ constexpr DoubleRegList kLiftoffAssemblerFpCacheRegs = {xmm0, xmm1, xmm2, xmm3,
#elif V8_TARGET_ARCH_X64 #elif V8_TARGET_ARCH_X64
constexpr RegList kLiftoffAssemblerGpCacheRegs = {rax, rcx, rdx, rbx, // r10: kScratchRegister (MacroAssembler)
rsi, rdi, r9}; // r11: kScratchRegister2 (Liftoff)
// r13: kRootRegister
// r14: kPtrComprCageBaseRegister
constexpr RegList kLiftoffAssemblerGpCacheRegs = {rax, rcx, rdx, rbx, rsi,
rdi, r8, r9, r12, r15};
constexpr DoubleRegList kLiftoffAssemblerFpCacheRegs = {xmm0, xmm1, xmm2, xmm3, constexpr DoubleRegList kLiftoffAssemblerFpCacheRegs = {xmm0, xmm1, xmm2, xmm3,
xmm4, xmm5, xmm6, xmm7}; xmm4, xmm5, xmm6, xmm7};
......
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