Remove the bytecode main/prologue split

NEW
Unassigned

Status

()

P3
normal
2 years ago
a year ago

People

(Reporter: shu, Unassigned)

Tracking

({triage-deferred})

Firefox Tracking Flags

(Not tracked)

Details

(Reporter)

Description

2 years ago
After the rewrite, the prologue can be removed. Things will be emitted in the right order up front, no need to switch to prologue due to function hoisting.
(Reporter)

Updated

2 years ago
Depends on: 1263355
(Reporter)

Comment 1

2 years ago
One problem is that the Debugger considers ops in the prologue to be unobservable, which affects the ability to set a breakpoint on the op. If we were to get rid of the prologue, we need a more robust notion of which ops can be breakpoint targets.
(In reply to Shu-yu Guo [:shu] from comment #1)
> One problem is that the Debugger considers ops in the prologue to be
> unobservable, which affects the ability to set a breakpoint on the op. If we
> were to get rid of the prologue, we need a more robust notion of which ops
> can be breakpoint targets.

Maybe a JSOP_START or JSOP_BEGIN op, where we currently switch to main?
I thought we only allowed breakpoints on bytecode which have new-line information?  Does the prologue have any line notes?
(Reporter)

Comment 4

2 years ago
(In reply to Nicolas B. Pierron [:nbp] from comment #3)
> I thought we only allowed breakpoints on bytecode which have new-line
> information?  Does the prologue have any line notes?

The FlowGraphSummary used by Debugger explicitly uses offsets relative to script->main(), not script->code() right now.
Keywords: triage-deferred
Priority: -- → P3
You need to log in before you can comment on or make changes to this bug.