On Wed, Dec 7, 2016 at 9:52 AM, Marcus Denker <[email protected]>
wrote:

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

Forgive me being pedantic, but it will simply be much less likely.  The
limit is raised to +/- 32k bytes, but one can still construct methods that
will hit these limits.

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


-- 
_,,,^..^,,,_
best, Eliot

Reply via email to