Open
Bug 1000532
Opened 11 years ago
Updated 2 years ago
[jsdbg2] Debugger should not disable IonMonkey JIT
Categories
(Core :: JavaScript Engine, defect)
Core
JavaScript Engine
Tracking
()
NEW
People
(Reporter: jimb, Unassigned)
References
(Blocks 2 open bugs)
Details
Making a compartment a Debugger's debuggee need not disable the IonMonkey JIT in that compartment altogether.
At the very least, we could invalidate only those frames on which Debugger performs some operation that an Ion frame can't support. For example, evaluating an expression in a frame's scope that stores a value of a previously unseen type in a local variable necessarily entails bailing out that frame; but extracting a simple backtrace, including source positions and callee names, should have no effect on the frames' representation.
Setting a breakpoint in a script might force that script into baseline; but there's no need to throw away all the IonMonkey scripts in the compartment as soon as it becomes a debuggee.
Reporter | ||
Comment 1•11 years ago
|
||
Ideas for unit tests:
- If Ion has inlined a function g into a loop in g's caller f, then we should check that each call to g gets a distinct Debugger.Frame instance. In other words, even though the implementation isn't actually creating any new structure for each entry into g --- it's just using a portion of the same real frame for each entry into the inlined code --- Debugger must be able to distinguish each invocation.
- If Ion has JITted a function with a loop containing a let block, then Debugger should see a distinct Debugger.Environment instance for each entry into that let block.
Updated•10 years ago
|
Updated•4 years ago
|
Blocks: js-debugger
Updated•2 years ago
|
Severity: normal → S3
You need to log in
before you can comment on or make changes to this bug.
Description
•