Closed Bug 1461897 Opened 6 years ago Closed 5 years ago
Can we remove 'innermost' query for Debugger
'innermost' query is used only in tests. https://searchfox.org/mozilla-central/rev/2b9779c59390ecc47be7a70d99753653d8eb5afc/js/src/doc/Debugger/Debugger.md#397-400 which is supposed to be used when setting breakpoint https://bugzilla.mozilla.org/show_bug.cgi?id=733461#c1 but the filtering is done in caller side (JS) https://searchfox.org/mozilla-central/rev/00dd116638001772fe354b081353b73f1cad405d/devtools/server/actors/source.js#816-823 it would be nice to figure out the reason why we're doing it on caller now, and use innermost query if it's faster, or remove innermost if it's not necessary.
In the long run, I would like to completely redesign the interface for setting breakpoints, so that findScripts isn't necessary at all. The behavior of findScripts depends on GC timing, which is very bad to expose to JS; JS should never care when GC happens. Instead, the Debugger API would have a proper Debugger.Breakpoint object, and SpiderMonkey itself would track down JSScripts and LazyScripts and take care of inserting breakpoints at the right point in the bytecode. The server would never need to collect them or iterate over them. Changing the server to use innermost might be helpful in the short term, but if we can get by with what we have now, it's probably unnecessary. Deleting the feature for the time being would be reasonable. We can always revert the change if we find we need it later.
Status: NEW → RESOLVED
Closed: 5 years ago
Resolution: --- → DUPLICATE
You need to log in before you can comment on or make changes to this bug.