Closed Bug 1419025 Opened 2 years ago Closed 2 years ago

Wasm baseline: Refactor registers and register allocation

Categories

(Core :: JavaScript Engine: JIT, enhancement)

enhancement
Not set

Tracking

()

RESOLVED FIXED
mozilla59
Tracking Status
firefox59 --- fixed

People

(Reporter: lth, Assigned: lth)

References

(Depends on 1 open bug)

Details

Attachments

(3 files, 1 obsolete file)

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.
Depends on: 1389458
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+
Blocks: 1419034
(Disregard comment about atomic loads and stores; I'm juggling too many patches.)
Regalloc refactoring with review comments addressed.  Carrying bbouvier's r+.
Attachment #8930104 - Attachment is obsolete: true
Attachment #8930865 - Flags: review+
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)
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 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 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
You need to log in before you can comment on or make changes to this bug.