compiler/tests/PPCTokenizingTest.st
changeset 518 a6d8b93441b0
parent 516 3b81c9e53352
child 525 751532c8f3db
--- a/compiler/tests/PPCTokenizingTest.st	Mon Aug 17 13:39:38 2015 +0100
+++ b/compiler/tests/PPCTokenizingTest.st	Mon Aug 17 23:11:56 2015 +0100
@@ -373,7 +373,7 @@
 testCompileTokenComplex4
     |  symbol symbolLiteralArray symbolLiteral arrayItem  arrayLiteral |
     "based on symbolLiteral symbolLiteralArray in SmalltalkGrammar"
-    
+
     symbol := PPDelegateParser new.
     symbol setParser: 'foo' asParser.
     symbol name: 'symbol'.
@@ -383,7 +383,12 @@
     symbolLiteralArray name: 'symbolLiteralArray'.
     
     symbolLiteral := PPDelegateParser new.
-    symbolLiteral setParser: $# asParser token, symbol token ==> [:e | e].
+    symbolLiteral setParser: $# asParser token, symbol token ==> [:e | e isNil. e ].
+    "                                                                  ^^^^^^^ "    
+    " This is here to trick Smalltalk/X JIT optimizer which would create
+      a __shared__ arg0-returning block. Because it is __shared__ it won't
+      have a sourceposition filled and hence the inlining would fail.
+      Sigh, there must be a better solution..."
     symbolLiteral name: 'symbolLiteral'.
     
     arrayLiteral := PPDelegateParser new.
@@ -396,6 +401,8 @@
 
     self assert: parser parse: '#(foo)'.
     self assert: parser parse: '#foo'.
+
+    "Modified (comment): / 17-08-2015 / 23:07:35 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 !
 
 testCompileTrim