Increase spill area
Bump it from 8 to 16 Cells.
Esse commit está contido em:
@@ -335,8 +335,8 @@ const RegSet kAllX64Regs = RegSet(kAllRegs).add(reg::r10)
|
||||
* address). It is used as spill locations by HHIR (see LinearScan),
|
||||
* and for MInstrState in both HHIR and translator-x64-vector.cpp.
|
||||
*/
|
||||
const size_t kReservedRSPScratchSpace = 0x100;
|
||||
const size_t kReservedRSPSpillSpace = 0x80;
|
||||
const size_t kReservedRSPScratchSpace = 0x180;
|
||||
const size_t kReservedRSPSpillSpace = 0x100;
|
||||
|
||||
//////////////////////////////////////////////////////////////////////
|
||||
|
||||
|
||||
@@ -29,7 +29,7 @@ class IRFactory;
|
||||
// This value must be consistent with the number of pre-allocated
|
||||
// bytes for spill locations in __enterTCHelper in translator-x64.cpp.
|
||||
// Be careful when changing this value.
|
||||
const int NumPreAllocatedSpillLocs = 16;
|
||||
const int NumPreAllocatedSpillLocs = 32;
|
||||
|
||||
struct UseInfo {
|
||||
UseInfo() : lastUse(0), count(0) {}
|
||||
|
||||
@@ -45,7 +45,7 @@ enterTCHelper:
|
||||
* 16-byte aligned.
|
||||
*/
|
||||
|
||||
sub $0x100, %rsp // kReservedRSPScratchSpace
|
||||
sub $0x180, %rsp // kReservedRSPScratchSpace
|
||||
|
||||
/*
|
||||
* If returning from a BIND_CALL request, push the return IP saved
|
||||
@@ -63,7 +63,7 @@ enterTCHelper:
|
||||
call *%rdx
|
||||
.LenterTCHelper$serviceReqLabel:
|
||||
|
||||
add $0x100, %rsp // kReservedRSPScratchSpace
|
||||
add $0x180, %rsp // kReservedRSPScratchSpace
|
||||
// Restore infoPtr into %rbx
|
||||
pop %rbx
|
||||
.cfi_adjust_cfa_offset -8
|
||||
|
||||
@@ -2851,7 +2851,7 @@ static_assert(rVmSp == rbx &&
|
||||
rVmTl == r12 &&
|
||||
rStashedAR == r15,
|
||||
"__enterTCHelper needs to be modified to use the correct ABI");
|
||||
static_assert(kReservedRSPScratchSpace == 0x100,
|
||||
static_assert(kReservedRSPScratchSpace == 0x180,
|
||||
"enterTCHelper needs to be updated for changes to "
|
||||
"kReservedRSPScratchSpace");
|
||||
static_assert(REQ_BIND_CALL == 0x1,
|
||||
|
||||
Referência em uma Nova Issue
Bloquear um usuário