Open Bug 1483625 Opened 6 years ago Updated 2 years ago

Debugger: Support frame.arguments on resumed generator frames, where possible

Categories

(Core :: JavaScript Engine, enhancement, P5)

enhancement

Tracking

()

People

(Reporter: jorendorff, Unassigned)

References

(Blocks 2 open bugs)

Details

Spun off from a code review, bug 1475417 comment 11:
> ::: js/src/jit-test/tests/debug/onEnterFrame-generator-01.js
> @@ +23,5 @@
> > +    assertEq(frame.callee, gw.makeDebuggeeValue(g.gen));
> > +
> > +    // `arguments` elements don't work in resumed generator frames,
> > +    // because generators don't keep the arguments around.
> > +    // The first onEnterFrame and onPop events can see them.
>
> If this is true, it seems like we should file a follow-up bug for it. I tried writing a generator that used `arguments` after yielding, and it worked fine.
>
> I think this means that we ought to be able to get the arguments under certain circumstances:
> https://searchfox.org/mozilla-central/rev/2466b82b729765fb0a3ab62f812c1a96a7362478/js/src/vm/GeneratorObject.cpp#164-165

I agree. Should be an easy fix.
Priority: -- → P2
Blocks: 1092910

Do you remember what you had in mind for this? It seems like once we're past the initial yield of a generator, there's no easy way to get that data back. If the frame got created early on and cached the data, we could probably still access it, but if you for instance hit a breakpoint after the initial yield, I'm not sure how we'd recover the initial arguments.

Flags: needinfo?(jorendorff)
Flags: needinfo?(jorendorff)
Priority: P2 → P5
Severity: normal → S3
You need to log in before you can comment on or make changes to this bug.