Closed
Bug 1419025
Opened 8 years ago
Closed 8 years ago
Wasm baseline: Refactor registers and register allocation
Categories
(Core :: JavaScript Engine: JIT, enhancement)
Core
JavaScript Engine: JIT
Tracking
()
RESOLVED
FIXED
mozilla59
| Tracking | Status | |
|---|---|---|
| firefox59 | --- | fixed |
People
(Reporter: lth, Assigned: lth)
References
Details
Attachments
(3 files, 1 obsolete file)
|
60.53 KB,
patch
|
lth
:
review+
|
Details | Diff | Splinter Review |
|
3.68 KB,
patch
|
bbouvier
:
review+
|
Details | Diff | Splinter Review |
|
12.21 KB,
patch
|
bbouvier
:
review+
|
Details | Diff | Splinter Review |
Spun out from bug 1336027.
In order to reduce complexity in the BaseCompiler class, mve the register abstraction classes and the register allocator class out of the BaseCompiler.
| Assignee | ||
Comment 1•8 years ago
|
||
Patch. Carry bbouvier's r+ from bug 1336027 comment 17.
Remarks in that comment *NOT* yet addressed here.
Also, discussion elsewhere revealed that while there are effectively all sorts of tests for atomic load and store rolled in with the test cases of non-atomic load and store (since they use the same code generators), this is *NOT* true for 64-bit atomic load and store on 32-bit systems, where completely different code paths are used. So would be nice to have additional tests for those.
Attachment #8930104 -
Flags: review+
| Assignee | ||
Comment 2•8 years ago
|
||
(Disregard comment about atomic loads and stores; I'm juggling too many patches.)
| Assignee | ||
Comment 3•8 years ago
|
||
Regalloc refactoring with review comments addressed. Carrying bbouvier's r+.
Attachment #8930104 -
Attachment is obsolete: true
Attachment #8930865 -
Flags: review+
| Assignee | ||
Comment 4•8 years ago
|
||
This cleans up the scratch registers further by making the scratch register macros return the typed registers (RegI32 and so on) and not Register or FloatRegister. It's not a complicated patch but it seemed worth a review.
Attachment #8930866 -
Flags: review?(bbouvier)
| Assignee | ||
Comment 5•8 years ago
|
||
Renames some macros used internally in the baseline compiler so that they are less likely to clash with macros defined elsewhere, under unified compilation. This really is a triviality, I'm just looking for a rubber stamp.
Attachment #8930867 -
Flags: review?(bbouvier)
Comment 6•8 years ago
|
||
Comment on attachment 8930867 [details] [diff] [review]
bug1419025-ifdef-trivialities.patch
Review of attachment 8930867 [details] [diff] [review]:
-----------------------------------------------------------------
rs=me
Attachment #8930867 -
Flags: review?(bbouvier) → review+
Comment 7•8 years ago
|
||
Comment on attachment 8930866 [details] [diff] [review]
bug1419025-scratch-registers.patch
Review of attachment 8930866 [details] [diff] [review]:
-----------------------------------------------------------------
Thanks!
Attachment #8930866 -
Flags: review?(bbouvier) → review+
Pushed by lhansen@mozilla.com:
https://hg.mozilla.org/integration/mozilla-inbound/rev/ad749012c057
wasm baseline, refactor registers and register allocation, r=bbouvier
https://hg.mozilla.org/integration/mozilla-inbound/rev/2079792e5c71
wasm baseline, clean up scratch registers further. r=bbouvier
https://hg.mozilla.org/integration/mozilla-inbound/rev/32b00c586da2
wasm baseline, rename some controlling macros. r=bbouvier
Comment 9•8 years ago
|
||
| bugherder | ||
https://hg.mozilla.org/mozilla-central/rev/ad749012c057
https://hg.mozilla.org/mozilla-central/rev/2079792e5c71
https://hg.mozilla.org/mozilla-central/rev/32b00c586da2
Status: ASSIGNED → RESOLVED
Closed: 8 years ago
status-firefox59:
--- → fixed
Resolution: --- → FIXED
Target Milestone: --- → mozilla59
You need to log in
before you can comment on or make changes to this bug.
Description
•