TM: Intern globals per context, not per tree.

RESOLVED FIXED

Status

()

RESOLVED FIXED
10 years ago
10 years ago

People

(Reporter: gal, Assigned: gal)

Tracking

unspecified
x86
Mac OS X
Points:
---
Bug Flags:
in-testsuite -
in-litmus -

Firefox Tracking Flags

(Not tracked)

Details

Attachments

(3 obsolete attachments)

(Assignee)

Description

10 years ago
Currently we lazily intern globals into the global frame per-tree. This makes it difficult to switch between trees since we have to unbox different globals onto the global frame.

Instead, track which global object is currently associated with the current context, and lazily add globals that any tree uses to a per-context list. All trees we activate unbox all globals in the list, allowing us to easily transition between trees without having to re-box or unbox any globals during said transition.
(Assignee)

Comment 1

10 years ago
Created attachment 333144 [details] [diff] [review]
Non-functional patch (more of a sketch, really).
(Assignee)

Updated

10 years ago
Blocks: 449436
(Assignee)

Updated

10 years ago
Duplicate of this bug: 450535
(Assignee)

Comment 3

10 years ago
This is a fix for 450535, but it doesn't solve the whole problem (449999) yet.

http://hg.mozilla.org/index.cgi/tracemonkey/rev/cad6ca9a1e79
(Assignee)

Comment 4

10 years ago
Confirmed to fix yahoo.
(Assignee)

Comment 5

10 years ago
Two additional fixes:

http://hg.mozilla.org/index.cgi/tracemonkey/rev/6c6266b8311c
http://hg.mozilla.org/index.cgi/tracemonkey/rev/735b68bb8168

Globals are still per-tree, but all corner cases are intercepted and we should be sound (albeit not optimal wrt speed).

I will keep working on the patch for the globals, but this is no longer an urgent blocker.
Status: NEW → ASSIGNED
(Assignee)

Updated

10 years ago
Assignee: general → gal
Status: ASSIGNED → NEW
(Assignee)

Updated

10 years ago
Attachment #333144 - Attachment is obsolete: true
(Assignee)

Comment 6

10 years ago
Created attachment 334492 [details] [diff] [review]
Almost working path.

Current state. Passes trace-tests but fails math-partial.
(Assignee)

Comment 7

10 years ago
Created attachment 334527 [details] [diff] [review]
Updated patch against tip.
Attachment #334492 - Attachment is obsolete: true
(Assignee)

Comment 8

10 years ago
Pushed. Reviews + testing welcome.

http://hg.mozilla.org/index.cgi/tracemonkey/rev/fca2a565f6c1
http://hg.mozilla.org/index.cgi/tracemonkey/rev/ab683b57667d
Status: NEW → RESOLVED
Last Resolved: 10 years ago
Resolution: --- → FIXED
(Assignee)

Updated

10 years ago
Attachment #334527 - Attachment is obsolete: true

Updated

10 years ago
Flags: in-testsuite-
Flags: in-litmus-
You need to log in before you can comment on or make changes to this bug.