Failing update "trunk". CogVM

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

Failing update "trunk". CogVM

CdAB63
 
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