Hello,

The current bytecode limited the size of jumps.

This means that you will get this error if your mehthods are so complex that 
they
require a jump too large.

Solution: refactor to simplify.

We should improve the error message to explain that.

(this will not happen anymore when the new bytecode set gets adopted).


> On 7 Dec 2016, at 12:14, Davide Varvello via Pharo-dev 
> <[email protected]> wrote:
> 
> 
> From: Davide Varvello <[email protected]>
> Subject: genJumpLong: distance index 1043 is out of range -1024 to 1023
> Date: 7 December 2016 at 12:14:35 GMT-3
> To: [email protected]
> 
> 
> Hi,
> 
> Sometimes (and also today) after formatting and saving a method, an Error is
> thrown.
> Following a chunk of PharoDebug.log
> 
> TIA
> Davide
> 
> 
> ---------------------
> THERE_BE_DRAGONS_HERE
> Error: genJumpLong: distance index 1043 is out of range -1024 to 1023
> 7 December 2016 4:21:53.0426 pm
> 
> VM: Mac OS - intel - 1096 - CoInterpreter
> VMMaker.oscog-HolgerHansPeterFreyther.1880 uuid:
> 16138eb3-2390-40f5-a6c8-15f0494936f8 Sep 30 2016
> StackToRegisterMappingCogit VMMaker.oscog-HolgerHansPeterFreyther.1880 uuid:
> 16138eb3-2390-40f5-a6c8-15f0494936f8 Sep 30 2016
> https://github.com/pharo-project/pharo-vm.git Commit:
> 06744effac0f0aa3b4b32e17636448f9d51d6707 Date: 2016-09-30 08:40:43 +0200 By:
> GitHub <[email protected]> Jenkins build #603
> 
> Image: Pharo5.0 [Latest update: #50763]
> 
> OpalEncoderForV3PlusClosures(Object)>>error:
>       Receiver: an OpalEncoderForV3PlusClosures
>       Arguments and temporary variables: 
>               aString:        'genJumpLong: distance index 1043 is out of 
> range -1024 to 1023'
>       Receiver's instance variables: 
>               stream:         an IRBytecodeGenerator
>               position:       nil
>               rootNode:       nil
>               blockExtentsToLocals:   nil
> 
> 
> OpalEncoderForV3PlusClosures(OpalBytecodeEncoder)>>outOfRangeError:index:range:to:
>       Receiver: an OpalEncoderForV3PlusClosures
>       Arguments and temporary variables: 
>               string:         'distance'
>               index:  1043
>               rangeStart:     -1024
>               rangeEnd:       1023
>       Receiver's instance variables: 
>               stream:         an IRBytecodeGenerator
>               position:       nil
>               rootNode:       nil
>               blockExtentsToLocals:   nil
> 
> 
> OpalEncoderForV3PlusClosures(OpalEncoderForV3)>>genJumpLong:
>       Receiver: an OpalEncoderForV3PlusClosures
>       Arguments and temporary variables: 
>               distance:       1043
>       Receiver's instance variables: 
>               stream:         an IRBytecodeGenerator
>               position:       nil
>               rootNode:       nil
>               blockExtentsToLocals:   nil
> 
> 
> OpalEncoderForV3PlusClosures(OpalEncoderForV3)>>genJump:
>       Receiver: an OpalEncoderForV3PlusClosures
>       Arguments and temporary variables: 
>               distance:       1043
>       Receiver's instance variables: 
>               stream:         an IRBytecodeGenerator
>               position:       nil
>               rootNode:       nil
>               blockExtentsToLocals:   nil
> 
> 
> 
> --
> View this message in context: 
> http://forum.world.st/genJumpLong-distance-index-1043-is-out-of-range-1024-to-1023-tp4926103.html
> Sent from the Pharo Smalltalk Developers mailing list archive at Nabble.com.
> 
> 
> 

Reply via email to