]> gitweb.factorcode.org Git - factor.git/commitdiff
Fix set-slot on x86
authorslava <slava@factorcode.org>
Thu, 11 May 2006 23:46:19 +0000 (23:46 +0000)
committerslava <slava@factorcode.org>
Thu, 11 May 2006 23:46:19 +0000 (23:46 +0000)
TODO.FACTOR.txt
library/compiler/x86/intrinsics.factor

index 36fad242afbbae41c0cbe385c33e095d16fbabf3..78cdbb7e26432afcf0bb362b5e5b03f543acdc76 100644 (file)
@@ -1,6 +1,5 @@
 should fix in 0.82:
 
-- test x86 set-slot
 - clean up fp-scratch
 - update amd64 backend
 - when generating a 32-bit image on a 64-bit system, large numbers which should
index c4aea1c22d6c1a7b406ca8a8198404221ced69a1..d790835902c1df044944a950cebd9b143b4b8393 100644 (file)
@@ -74,19 +74,19 @@ IN: compiler
     "obj" operand card-offset ADD rel-absolute-cell rel-cards
     "obj" operand [] card-mark OR ;
 
-\ set-slot [
-    "obj" operand untag
-    ! turn tagged fixnum slot # into an offset
-    "slot" operand fixnum>slot@
-    ! compute slot address
-!     "obj" operand "slot" operand ADD
-    ! store new slot value
-!     "obj" operand [] "val" operand MOV
-    generate-write-barrier
-] H{
-    { +input { { f "val" } { f "obj" } { f "slot" } } }
-    { +clobber { "obj" "slot" } }
-} define-intrinsic
+\ set-slot [
+    "obj" operand untag
+    ! turn tagged fixnum slot # into an offset
+    "slot" operand fixnum>slot@
+    ! compute slot address
+    "slot" operand "obj" operand ADD
+    ! store new slot value
+    "slot" operand [] "val" operand MOV
+    generate-write-barrier
+] H{
+    { +input { { f "val" } { f "obj" } { f "slot" } } }
+    { +clobber { "obj" "slot" } }
+} define-intrinsic
 
 \ char-slot [
     EBX PUSH