Closed Bug 591539 Opened 9 years ago Closed 9 years ago

JM: Remove tracerecursion

Categories

(Core :: JavaScript Engine, defect)

x86_64
Linux
defect
Not set

Tracking

()

RESOLVED FIXED

People

(Reporter: dvander, Assigned: dvander)

References

Details

Attachments

(1 file, 1 obsolete file)

Attached patch removed (obsolete) — Splinter Review
Much of the tracerecursion complication stemmed from mitigating trace transition costs. It actually swallowed interpreter frames on-trace to avoid leaving the JIT. Integrating this with the method JIT is very tricky. The method JIT is fast enough for now, and will get faster.

Trace-recursion served its purpose and will hopefully be reborn in a world where the tracer stack overlays the mjit/interpreter stack, and JSStackFrames aren't hugeonormous. For now, it's a lot of code that is very difficult to maintain. RIP.
Attachment #470111 - Flags: review?(lw)
Attached patch v2Splinter Review
Remove more remnants, JSOP_TRACE after CALL (requires fixing a lot of debug tests that hardcode bytecode offsets) and some EnterFrame cruft.
Attachment #470111 - Attachment is obsolete: true
Attachment #470118 - Flags: review?(lw)
Attachment #470111 - Flags: review?(lw)
Comment on attachment 470118 [details] [diff] [review]
v2

It was an impressive accomplishment while it lasted, but bless JM for letting this stuff go.
Attachment #470118 - Flags: review?(lw) → review+
http://hg.mozilla.org/projects/jaegermonkey/rev/e0487d27eb6c
Status: ASSIGNED → RESOLVED
Closed: 9 years ago
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.