Hi,

I am currently toying with Phexample (an extension of SUnit) and implement
the "visitor" for the CompiledCode and wanted to use the JIT for that.

Object subclass: PhexampleInstructionMatcher [
    bytecodeIndex: anIndex with: aParam [
        Transcript nextPutAll: 'BC '; nextPutAll: anIndex printString; nl.
        anIndex printNl.
    ]

    lineNo: aLine with: aParam [
        Transcript nextPutAll: 'Line '; nextPutAll: aLine printString; nl.
    ]
]

st> (CompiledCode >> #examineOn:) dispatchTo: PhexampleInstructionMatcher new 
with: nil

Result on JIT:
Object: PhexampleInstructionMatcher new "<0x40445ec0>" error: did not 
understand #pushSelf:
MessageNotUnderstood(Exception)>>signal (ExcHandling.st:254)
PhexampleInstructionMatcher(Object)>>doesNotUnderstand: #pushSelf: 
(SysExcept.st:1408)
CompiledMethod(CompiledCode)>>dispatchByte:with:at:to:with: (CompildCode.st:618)
[] in Object: BlockContext new: 16 "<0x4044ab40>" error: IP(35) is not correct
MessageNotUnderstood(Exception)>>signal (ExcHandling.st:254)
PhexampleInstructionMatcher(Object)>>doesNotUnderstand: #pushSelf: 
(SysExcept.st:1408)
CompiledMethod(CompiledCode)>>dispatchByte:with:at:to:with: (CompildCode.st:618)
[] in Object: BlockContext new: 16 "<0x4044ab40>" error: IP(35) is not correct
MessageNotUnderstood(Exception)>>signal (ExcHandling.st:254)
...
infinite loop


Result on Interpreter:
Object: PhexampleInstructionMatcher new "<0x40437ec0>" error: did not 
understand #pushSelf:
MessageNotUnderstood(Exception)>>signal (ExcHandling.st:254)
PhexampleInstructionMatcher(Object)>>doesNotUnderstand: #pushSelf: 
(SysExcept.st:1408)
CompiledMethod(CompiledCode)>>dispatchByte:with:at:to:with: (CompildCode.st:618)
[] in CompiledMethod(CompiledCode)>>dispatchTo:with: (CompildCode.st:569)
CompiledMethod(CompiledCode)>>dispatchSuperoperator:with:at:to: 
(CompildCode.st:661)
CompiledMethod(CompiledCode)>>dispatchSuperoperator:with:at:to: 
(CompildCode.st:656)
CompiledMethod(CompiledCode)>>allByteCodeIndicesDo: (CompildCode.st:1032)
CompiledMethod(CompiledCode)>>dispatchTo:with: (CompildCode.st:558)
UndefinedObject>>executeStatements (a String:1)


Info:
(CompiledCode >> #dispatchByte:with:at:to:with:) sourceCodeMap 
(1 0 0 0 5 0 5 0 5 0 5 0 7 0 7 0 8 0 9 0 10 0 11 0 11 0 11 0 12 0 12 0 12 0 14 
0 15 0 16 0 17 0 18 0 18 0 18 0 19 0 19 0 19 0 21 0 22 0 23 0 24 0 25 0 25 0 25 
0 26 0 26 0 26 0 28 0 29 0 30 0 31 0 32 0 32 0 32 0 33 0 33 0 33 0 35 0 36 0 37 
0 38 0 39 0 39 0 39 0 40 0 40 0 40 0 42 0 43 0 44 0 45 0 45 0 45 0 46 0 46 0 46 
0 46 0 46 0 46 0 46 0 46 0 47 0 47 0 47 0 47 0 47 0 47 0 47 0 48 0 48 0 48 0 48 
0 )


Paolo any idea where we can start to look for the issue?

_______________________________________________
help-smalltalk mailing list
[email protected]
https://lists.gnu.org/mailman/listinfo/help-smalltalk

Reply via email to