FileStream.st
changeset 12675 f8ff1ae7ca20
parent 12630 c6151f8f6854
child 12687 db30e2741635
--- a/FileStream.st	Mon Feb 01 19:14:37 2010 +0100
+++ b/FileStream.st	Mon Feb 01 19:19:02 2010 +0100
@@ -1357,13 +1357,13 @@
             wasBlocked = __BLOCKINTERRUPTS();
 #if 0
             // The original code was:
-            __INST(handle) = fp = __MKOBJ((INT)f); __STORE(self, fp);
+            __INST(handle) = fp = __MKEXTERNALADDRESS(f); __STORE(self, fp);
             // but for that, gcc generates wrong code, which loads self (volatile) into
-            // a register (bp), then calls __MKOBJ, then stores indirect bp.
-            // That is wrong if a scavenge occurs in MKOBJ, as bp is now still pointing to the old
+            // a register (bp), then calls __MKEXTERNALADDRESS, then stores indirect bp.
+            // That is wrong if a scavenge occurs in __MKEXTERNALADDRESS, as bp is now still pointing to the old
             // object.
 #else
-            fp = __MKOBJ((INT)f);
+            fp = __MKEXTERNALADDRESS(f);
             __INST(handle) = fp;
             __STORE(self, fp);
 #endif
@@ -1652,11 +1652,11 @@
 !FileStream class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libbasic/FileStream.st,v 1.137 2009-12-21 15:36:02 stefan Exp $'
+    ^ '$Header: /cvs/stx/stx/libbasic/FileStream.st,v 1.138 2010-02-01 18:19:02 stefan Exp $'
 !
 
 version_CVS
-    ^ '$Header: /cvs/stx/stx/libbasic/FileStream.st,v 1.137 2009-12-21 15:36:02 stefan Exp $'
+    ^ '$Header: /cvs/stx/stx/libbasic/FileStream.st,v 1.138 2010-02-01 18:19:02 stefan Exp $'
 ! !
 
 FileStream initialize!