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 <pharo-dev@lists.pharo.org> wrote:


From: Davide Varvello <varvello@yahoo.com>
Subject: genJumpLong: distance index 1043 is out of range -1024 to 1023
Date: 7 December 2016 at 12:14:35 GMT-3
To: pharo-dev@lists.pharo.org


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 <noreply@github.com> 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.