Jit: Fix GUARD_OFFSET calculation
Seems like this was broken all along. The safe zone is at the lower addresses of the stack, not the higher addresses.
This commit is contained in:
parent
73aaa01648
commit
0cdae98181
|
@ -149,7 +149,7 @@ enum
|
||||||
STACK_SIZE = 2 * 1024 * 1024,
|
STACK_SIZE = 2 * 1024 * 1024,
|
||||||
SAFE_STACK_SIZE = 512 * 1024,
|
SAFE_STACK_SIZE = 512 * 1024,
|
||||||
GUARD_SIZE = 0x10000, // two guards - bottom (permanent) and middle (see above)
|
GUARD_SIZE = 0x10000, // two guards - bottom (permanent) and middle (see above)
|
||||||
GUARD_OFFSET = STACK_SIZE - SAFE_STACK_SIZE - GUARD_SIZE,
|
GUARD_OFFSET = SAFE_STACK_SIZE - GUARD_SIZE,
|
||||||
};
|
};
|
||||||
|
|
||||||
Jit64::Jit64() : QuantizedMemoryRoutines(*this)
|
Jit64::Jit64() : QuantizedMemoryRoutines(*this)
|
||||||
|
|
|
@ -41,7 +41,7 @@ constexpr size_t FARCODE_SIZE_MMU = 1024 * 1024 * 64;
|
||||||
constexpr size_t STACK_SIZE = 2 * 1024 * 1024;
|
constexpr size_t STACK_SIZE = 2 * 1024 * 1024;
|
||||||
constexpr size_t SAFE_STACK_SIZE = 512 * 1024;
|
constexpr size_t SAFE_STACK_SIZE = 512 * 1024;
|
||||||
constexpr size_t GUARD_SIZE = 64 * 1024; // two guards - bottom (permanent) and middle (see above)
|
constexpr size_t GUARD_SIZE = 64 * 1024; // two guards - bottom (permanent) and middle (see above)
|
||||||
constexpr size_t GUARD_OFFSET = STACK_SIZE - SAFE_STACK_SIZE - GUARD_SIZE;
|
constexpr size_t GUARD_OFFSET = SAFE_STACK_SIZE - GUARD_SIZE;
|
||||||
|
|
||||||
JitArm64::JitArm64() : m_float_emit(this)
|
JitArm64::JitArm64() : m_float_emit(this)
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in New Issue