Closed Bug 1419025 Opened 5 years ago Closed 5 years ago

Wasm baseline: Refactor registers and register allocation


(Core :: JavaScript Engine: JIT, enhancement)

Not set



Tracking Status
firefox59 --- fixed


(Reporter: lth, Assigned: lth)




(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]

Review of attachment 8930867 [details] [diff] [review]:

Attachment #8930867 - Flags: review?(bbouvier) → review+
Comment on attachment 8930866 [details] [diff] [review]

Review of attachment 8930866 [details] [diff] [review]:

Attachment #8930866 - Flags: review?(bbouvier) → review+
Pushed by
wasm baseline, refactor registers and register allocation, r=bbouvier
wasm baseline, clean up scratch registers further. r=bbouvier
wasm baseline, rename some controlling macros. r=bbouvier
You need to log in before you can comment on or make changes to this bug.