On Wed, 2016-12-07 at 11:10 -0800, Eliot Miranda wrote:
> 
> 
> 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.

What prevents you to generate what - if I remember correctly - 
was called jump island? i.e, generate jump to another jump. 
This was/is used a lot on PA-RISCs (I might we wrong, I have
not seen an alive PA-RISC machine for ages now)

Jan

> 
> > > On 7 Dec 2016, at 12:14, Davide Varvello via Pharo-dev <pharo-dev
> > > @lists.pharo.org> 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)>>outOfRangeErro
> > > r: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-d
> > > istance-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