Closed Bug 1519880 Opened 5 years ago Closed 5 years ago

Refactor FrameInfo for interpreter changes

Categories

(Core :: JavaScript Engine: JIT, enhancement)

enhancement
Not set
normal

Tracking

()

RESOLVED FIXED
mozilla66
Tracking Status
firefox66 --- fixed

People

(Reporter: jandem, Assigned: jandem)

References

Details

Attachments

(2 files)

Baseline's FrameInfo class stores the script and keeps track of the compiler's virtual stack.

Most of this doesn't apply to the interpreter, so I want to split FrameInfo in InterpreterFrameInfo and CompilerFrameInfo (with a common FrameInfo base class). Then CompilerFrameInfo will store the script and the virtual stack and we can use the type system to ensure InterpreterFrameInfo doesn't depend on any of this.

The interpreter won't use the virtual stack and StackValue, so we need to
refactor things a bit so we don't call frame.peek(x) outside the FrameInfo class.

StackValue will be just an implementation detail of CompilerFrameInfo in the
next patch.
InterpreterFrameInfo is just a very simple interface on top of masm.
CompilerFrameInfo maintains the virtual stack based on the script it's
compiling.

Depends on D16479
Pushed by jdemooij@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/f24ec43206d7
part 1 - Stop exposing StackValue* to BaselineCodeGen. r=djvj
https://hg.mozilla.org/integration/autoland/rev/d11bb3bd8195
part 2 - Split Baseline's FrameInfo class in CompilerFrameInfo and InterpreterFrameInfo. r=djvj
Status: ASSIGNED → RESOLVED
Closed: 5 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla66
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: