Fix clobberage
parent
fc9e87db1c
commit
e944286b0e
|
@ -63,8 +63,6 @@ IN: cpu.x86.intrinsics
|
|||
: generate-write-barrier ( -- )
|
||||
#! Mark the card pointed to by vreg.
|
||||
"val" get operand-immediate? "obj" get fresh-object? or [
|
||||
"obj" operand PUSH
|
||||
|
||||
! Mark the card
|
||||
"obj" operand card-bits SHR
|
||||
"cards_offset" f temp-reg v>operand %alien-global
|
||||
|
@ -74,8 +72,6 @@ IN: cpu.x86.intrinsics
|
|||
"obj" operand deck-bits card-bits - SHR
|
||||
"decks_offset" f temp-reg v>operand %alien-global
|
||||
temp-reg v>operand "obj" operand [+] card-mark <byte> MOV
|
||||
|
||||
"obj" operand POP
|
||||
] unless ;
|
||||
|
||||
\ set-slot {
|
||||
|
@ -97,7 +93,7 @@ IN: cpu.x86.intrinsics
|
|||
{
|
||||
[ %slot-any "val" operand MOV generate-write-barrier ] H{
|
||||
{ +input+ { { f "val" } { f "obj" } { f "n" } } }
|
||||
{ +clobber+ { "n" } }
|
||||
{ +clobber+ { "obj" "n" } }
|
||||
}
|
||||
}
|
||||
} define-intrinsics
|
||||
|
|
Loading…
Reference in New Issue