From e944286b0eb12cd24e2be4a6321776ec296ae94b Mon Sep 17 00:00:00 2001 From: Slava Pestov Date: Fri, 4 Jul 2008 18:17:01 -0500 Subject: [PATCH] Fix clobberage --- core/cpu/x86/intrinsics/intrinsics.factor | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/core/cpu/x86/intrinsics/intrinsics.factor b/core/cpu/x86/intrinsics/intrinsics.factor index 38adedc6b6..d19749ae39 100755 --- a/core/cpu/x86/intrinsics/intrinsics.factor +++ b/core/cpu/x86/intrinsics/intrinsics.factor @@ -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 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