symbolic code generation fixed (wrong code was generated when ir had more than 10 sequences)
authorJan Vrany <jan.vrany@fit.cvut.cz>
Wed, 05 Nov 2008 18:58:44 +0000
changeset 4 7195866510e1
parent 3 c9845c180bd4
child 5 b94aea1d3710
symbolic code generation fixed (wrong code was generated when ir had more than 10 sequences)
IRBytecodeGenerator.st
stx_goodies_newcompiler.st
--- a/IRBytecodeGenerator.st	Mon Nov 03 17:02:40 2008 +0000
+++ b/IRBytecodeGenerator.st	Wed Nov 05 18:58:44 2008 +0000
@@ -54,12 +54,12 @@
         primNum := 0.
         numArgs := 0.
         currentSeqNum := 0.
-        orderSeq := Dictionary new.  "reverse map of seqOrder"
+        orderSeq := OrderedDictionary new.  "reverse map of seqOrder"
 
         "starting label in case one is not provided by client"
         self label: self newDummySeqId.
 
-    "Modified: / 11-06-2008 / 14:43:48 / Jan Vrany <vranyj1@fel.cvut.cz>"
+    "Modified: / 05-11-2008 / 10:33:30 / Jan Vrany <vranyj1@fel.cvut.cz>"
 !
 
 numArgs: n
@@ -624,7 +624,7 @@
                 into: [:changed :seqId | (self updateJump: seqId) | changed]
         ] whileTrue.
 
-        stream := (OrderedCollection new: 100) writeStream.
+        stream := (OrderedCollection new: 200) writeStream.
         orderSeq do: [:seqId |
                 (instrMaps at: seqId) do: [:assoc |
                         assoc key "instr" bytecodeIndex: stream position + assoc value.
@@ -634,7 +634,7 @@
         ^self relativeJumpsToAbsoluteIn:stream contents
 
     "Created: / 11-06-2008 / 14:00:43 / Jan Vrany <vranyj1@fel.cvut.cz>"
-    "Modified: / 11-06-2008 / 15:52:33 / Jan Vrany <vranyj1@fel.cvut.cz>"
+    "Modified: / 05-11-2008 / 10:33:20 / Jan Vrany <vranyj1@fel.cvut.cz>"
 ! !
 
 !IRBytecodeGenerator class methodsFor:'documentation'!
--- a/stx_goodies_newcompiler.st	Mon Nov 03 17:02:40 2008 +0000
+++ b/stx_goodies_newcompiler.st	Wed Nov 05 18:58:44 2008 +0000
@@ -16,12 +16,13 @@
         #'stx:goodies/refactoryBrowser/parser'    "RBIdentifierToken - referenced by IRDecompiler>>newVar: "
         #'stx:goodies/sunit'    "TestCase - superclass of IRTransformTest "
         #'stx:libbasic'    "Object - superclass of IRTransformTest "
+        #'stx:libbasic2'    "OrderedDictionary - referenced by IRBytecodeGenerator>>initialize "
         #'stx:libcomp'    "PrimitiveNode - referenced by IRMethod>>initialize "
         #'stx:libcompat'    "Preferences - referenced by IRDecompiler>>removeClosureCreation: "
         #'stx:libwidg'    "ScrollableView - referenced by IRMethod>>inspector2TabIRCode "
     )
 
-    "Modified: / 03-11-2008 / 18:00:51 / Jan Vrany <vranyj1@fel.cvut.cz>"
+    "Modified: / 05-11-2008 / 19:52:40 / Jan Vrany <vranyj1@fel.cvut.cz>"
 ! !
 
 !stx_goodies_newcompiler class methodsFor:'description - contents'!
@@ -63,7 +64,7 @@
         IRTempStore
     )
 
-    "Modified: / 03-11-2008 / 18:00:51 / Jan Vrany <vranyj1@fel.cvut.cz>"
+    "Modified: / 05-11-2008 / 19:52:39 / Jan Vrany <vranyj1@fel.cvut.cz>"
 !
 
 extensionMethodNames
@@ -73,7 +74,7 @@
         Class bindingOf:
     )
 
-    "Modified: / 03-11-2008 / 18:00:51 / Jan Vrany <vranyj1@fel.cvut.cz>"
+    "Modified: / 05-11-2008 / 19:52:39 / Jan Vrany <vranyj1@fel.cvut.cz>"
 ! !
 
 !stx_goodies_newcompiler class methodsFor:'description - project information'!