[squeak-dev] Failing update "trunk". CogVM
Casimiro de Almeida Barreto
casimiro.barreto at gmail.com
Mon Aug 22 19:02:01 UTC 2011
Does not happen with standard vm.
Error:
*TextEditor class <none> umpTarget*
umpTarget*Nothing more expected ->*type: #'AbstractInstruction *'>
jumpTarget := cogit cCoerceSimple: (operands at: 0) to:
#'AbstractInstruction *'.
cogit assertSaneJumpTarget: jumpTarget.
(self isAnInstruction: jumpTarget) ifTrue:
[jumpTarget := cogit cCoerceSimple: jumpTarget address to:
#'AbstractInstruction *'].
self assert: jumpTarget ~= 0.
offset := jumpTarget signedIntFromLong - (address + 2)
signedIntFromLong.
(machineCodeSize = 0 "size not determined because no sizeJump pass;
generating initial trampolines"
ifTrue: [self isQuick: offset]
ifFalse: [machineCodeSize = 2]) ifTrue:
[machineCode
at: 0 put: 16r70 + conditionCode;
at: 1 put: (offset bitAnd: 16rFF).
^machineCodeSize := 2].
offset := jumpTarget signedIntFromLong - (address + 6)
signedIntFromLong.
machineCode
at: 0 put: 16r0F;
at: 1 put: 16r80 + conditionCode;
at: 2 put: (offset bitAnd: 16rFF);
at: 3 put: (offset >> 8 bitAnd: 16rFF);
at: 4 put: (offset >> 16 bitAnd: 16rFF);
at: 5 put: (offset >> 24 bitAnd: 16rFF).
^machineCodeSize := 6
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20110822/a6529d27/attachment.htm
More information about the Squeak-dev
mailing list
|