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,

Clement

On 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.