Hi,This will be fixed by using the alternative bytecode set, likely in the next few weeks in Pharo 6 alpha/beta. Basically control flow messages (ifTrue:, to:do:, etc.) cannot have too many statements in their blocks (ifTrue: argument, to:do: second arguments, etc) or the compiler can't compile them due to bytecode set encoding limitation. The new bytecode set is encoded differently and allows such code to be compiled.As a temporary solution, you need to split your code in multiple methods to lower the number of statements inside blocks inside control flow messages.Sorry for the annoyance. We're working on integrating a solution and we believe that this will be integrated in Pharo 6 in the next few weeks.Regards,ClementOn Wed, Dec 7, 2016 at 4:14 PM, Davide Varvello via Pharo-dev <pharo-dev@lists.pharo.org> wrote:
---------- Forwarded message ----------
From: Davide Varvello <varvello@yahoo.com>
To: pharo-dev@lists.pharo.org
Cc:
Date: Wed, 7 Dec 2016 07:14:35 -0800 (PST)
Subject: genJumpLong: distance index 1043 is out of range -1024 to 1023
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.