On Wed, 2016-12-07 at 11:10 -0800, Eliot Miranda wrote:
On Wed, Dec 7, 2016 at 9:52 AM, Marcus Denker <marcus.denker@inria.fr
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 <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)>>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