Fix clobberage

db4
Slava Pestov 2008-07-04 18:17:01 -05:00
parent fc9e87db1c
commit e944286b0e
1 changed files with 1 additions and 5 deletions

View File

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