[Vm-dev] Pharo 2.0 and VM Simulator
phil at highoctane.be
phil at highoctane.be
Thu Apr 11 09:11:09 UTC 2013
Hello,
I've been working on getting the simulator to work from VMMaker.
Now, I can load my 6505 formatted image inside the simulator and it looks
okay (from what I can inspect).
Then, I am now running the test of the sim:
test
transcript clear.
byteCount := 0.
quitBlock := [^ self].
self internalizeIPandSP.
self fetchNextBytecode.
[true] whileTrue:
[self dispatchOn: currentBytecode in: BytecodeTable.
byteCount := byteCount + 1.
byteCount \\ 10000 = 0 ifTrue: [self fullDisplay]].
self externalizeIPandSP.
and I hit an issue:
MNU: isInstanceOfClassFloat: oop.
InterpreterSimulatorLSB(Interpreter)>>floatValueOf:
InterpreterSimulatorLSB(Interpreter)>>loadFloatOrIntFrom:
InterpreterSimulatorLSB(Interpreter)>>primitiveFloatEqual:toArg:
InterpreterSimulatorLSB(Interpreter)>>bytecodePrimEqual
InterpreterSimulatorLSB(InterpreterSimulator)>>dispatchOn:in:
InterpreterSimulatorLSB(InterpreterSimulator)>>test
UndefinedObject>>DoIt
This happens here:
floatValueOf: oop
"Answer the C double precision floating point value of the argument,
or fail if it is not a Float, and answer 0.
Note: May be called by translated primitive code."
| isFloat result |
<returnTypeC: #double>
<var: #result type: #double>
isFloat := self isInstanceOfClassFloat: oop.
isFloat ifTrue:
[self cCode: '' inSmalltalk: [result := Float new: 2].
self fetchFloatAt: oop + BaseHeaderSize into: result.
^result].
self primitiveFail.
^0.0
There is such a method in IntepreterPrimitives, but not in the Interpreter
itself nor parents.
InterpreterPrimitives>>isInstanceOfClassFloat: oop
<inline: true>
"N.B. Because Slang always inlines is:instanceOf:compactClassIndex:
(because is:instanceOf:compactClassIndex: has an inline: pragma) the
phrase (objectMemory splObj: ClassFloat) is expanded in-place and is
_not_ evaluated if oop has a non-zero CompactClassIndex."
^objectMemory
is: oop
instanceOf: (objectMemory splObj: ClassFloat)
compactClassIndex: ClassFloatCompactIndex
Clues?
Phil
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.squeakfoundation.org/pipermail/vm-dev/attachments/20130411/66533a61/attachment.htm
More information about the Vm-dev
mailing list