Closed Bug 1624792 Opened 4 years ago Closed 3 years ago

Consider removing the Debugger's instrumentation mechanism

Categories

(Core :: JavaScript Engine, task, P3)

task

Tracking

()

RESOLVED FIXED
91 Branch
Tracking Status
firefox91 --- fixed

People

(Reporter: jandem, Assigned: iain)

References

(Blocks 2 open bugs)

Details

(Whiteboard: [smooshmonkey-reserve])

Attachments

(6 files)

This was added in bug 1554524 for Web Replay but with Web Replay code gone from the tree it might make sense to remove this too. This way SmooshMonkey's bytecode emitter doesn't need to implement this.

It is unfortunate, but I agree we should remove. We don't have any use cases of this API on roadmaps. The design that was implemented was an interesting balance of concerns, but we don't want to maintain compatibility of instrumentation points inside new frontend.

Priority: -- → P3
Whiteboard: [smooshmonkey-reserve]

I bumped into an issue with this code while working on bug 1672626 (JSOp::Resume in the baseline interpreter does not initialize BaselineFrame::interpreterICEntry_ because the first op after resuming will always be a jump target that will set it, unless the realm instrumentation code has inserted InstrumentationActive/JumpIfFalse/..., in which case we use a garbage IC entry in JumpIfFalse; it hasn't been a problem until now because of the fast-path in JumpIfFalse that skips the IC if the input is already a bool, but I'm removing that fast-path.)

It's as good a time as any to clean this up.

Assignee: nobody → iireland

This is no longer needed because we are removing the realm instrumentation code (which was only ever used for WebRR).

This patch stack is based on the patches for bug 1554524 in more-or-less reverse order, with a few modifications so that the intermediate patches build. This is part 8.

Depends on D116304

This removes the changes from bug 1554524 part 6 (and equivalent changes that were made later for Stencil).

Depends on D116305

This removes the changes from bug 1554524 part 5.

Depends on D116306

This removes bug 1554524 Part 7 and the relevant parts of bug 1618198 part 26.

Depends on D116307

This patch removes the changes from bug 1554524 part 4. (Parts 1 and 3 of bug 1554524 were bytecode emitter cleanups that don't need to be reverted; part 2 was abandoned.)

Depends on D116308

Pushed by iireland@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/56f9a8184a88
Remove js::GlobalHasInstrumentation r=tcampbell,smaug
https://hg.mozilla.org/integration/autoland/rev/27cea02bdee4
Remove instrumentation tests r=tcampbell
https://hg.mozilla.org/integration/autoland/rev/8b94a17c1934
Remove XDR restriction for instrumented code r=tcampbell
https://hg.mozilla.org/integration/autoland/rev/202e208f88b5
Remove instrumention code from bytecode emitter r=tcampbell
https://hg.mozilla.org/integration/autoland/rev/135a0e6af641
Remove interpreter and jit support for instrumentation opcodes r=tcampbell
https://hg.mozilla.org/integration/autoland/rev/e590eb34efc5
Remove Debugger interface r=tcampbell
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: