Closed Bug 1264997 Opened 9 years ago Closed 9 years ago

JSOP_LABEL's offset should be a source note.

Categories

(Core :: JavaScript Engine, defect)

defect
Not set
normal

Tracking

()

RESOLVED INVALID
Tracking Status
firefox48 --- affected

People

(Reporter: nbp, Unassigned)

Details

Currently IsJumpOpcode encode a special case for JSOP_LABEL, this special case is a work-around made to account the fact that we have an offset as argument of JSOP_LABEL. The only code which relies on this offset is in IonBuilder, and it has no purpose for the execution. We should move it as a source-note information in a similar way as we do for loops.
As far as I know, we prefer bytecode operands over source notes. Source notes require an extra lookup and it'd be nice to remove them altogether at some point (and use a more efficient system for lineno/column information).
My understanding was that if we do not need it for the execution, we should move it to the source notes.
(In reply to Nicolas B. Pierron [:nbp] from comment #2) > My understanding was that if we do not need it for the execution, we should > move it to the source notes. I think, for the most part, source notes are a leftover from the old decompiler. Looking up source notes for a particular pc is very inefficient (see GSNCache) and I'd love to kill them entirely at some point.
(I don't really care about making this one a source note though, JSOP_LABEL isn't that common. It'd be nice to avoid the source note overhead for the more common ops though.)
(In reply to Jan de Mooij [:jandem] from comment #3) > I think, for the most part, source notes are a leftover from the old > decompiler. Looking up source notes for a particular pc is very inefficient > (see GSNCache) and I'd love to kill them entirely at some point. Yes. I'd like to kill them off for everything except location information (which I think has to be inconveniently compressed, by default at least, to avoid bloat).
Status: NEW → RESOLVED
Closed: 9 years ago
Resolution: --- → INVALID
You need to log in before you can comment on or make changes to this bug.