Closed Bug 1624792 Opened 5 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: