mirror of
https://github.com/VSadov/Satori.git
synced 2025-06-09 17:44:48 +09:00
a few fixes
This commit is contained in:
parent
b2a3ddf4ae
commit
ca90a97dc4
2 changed files with 15 additions and 0 deletions
|
@ -455,6 +455,14 @@ LEAF_ENTRY JIT_WriteBarrier, _TEXT
|
|||
|
||||
; this is expected to be rare.
|
||||
RecordEscape:
|
||||
|
||||
; 4) check if the source is escaped
|
||||
mov rax, rdx
|
||||
and rax, 01FFFFFh
|
||||
shr rax, 3
|
||||
bt qword ptr [r8], rax
|
||||
jb AssignAndMarkCards ; source is already escaped.
|
||||
|
||||
; save rcx, rdx, r8 and have enough stack for the callee
|
||||
push rcx
|
||||
push rdx
|
||||
|
|
|
@ -358,6 +358,13 @@ LEAF_ENTRY JIT_WriteBarrier, _TEXT
|
|||
ret
|
||||
|
||||
// this is expected to be rare.
|
||||
// 4) check if the source is escaped
|
||||
mov rax, rsi
|
||||
and rax, 0x1FFFFF
|
||||
shr rax, 3
|
||||
bt qword ptr [rdx], rax
|
||||
jb AssignAndMarkCards // source is already escaped.
|
||||
|
||||
RecordEscape:
|
||||
// save rdi, rsi, rdx and r10 (possibly preadjusted rsi)
|
||||
push rdi
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue