[Cuis-dev] Error: genJumpLong: distance index is out of range

Nicolás Papagna Maldonado nicolas.papagna at gmail.com
Fri Jan 29 04:31:55 PST 2021


Aloha folks,

I was making some changes to Code Coverage and ran into this compiler error
while I was trying to re-compile a method with code coverage tracing added
to it.
In short, Code Coverage wraps each message send in a block and calls a
special selector on it that evaluates it and register code coverage
information of the wrapped collaborations.

I've found that for some methods the "genJumpLong: distance index is out of
range" and I quite don't understand why.
In this case "emitCodeForWhile: stack encoder: encoder value: forValue" is
called, which in turn calls "emitCodeForJump: dist encoder: encoder", which
ends up raising the error a couple stack frames later.

As far as I understand, it looks like "the body of the while loop was long
enough to make the compiler unable to generate the jump". But that's all I
got :)

Do you have any pointers about how to avoid this altogether?
It's kind of a blocker to me, as there are some methods that cannot be
analyzed by Code Coverage right now.

Thanks in advance!
Nico PM
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.cuis.st/mailman/archives/cuis-dev/attachments/20210129/eb15bc8f/attachment.htm>


More information about the Cuis-dev mailing list