[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