Closed
Bug 1329576
Opened 7 years ago
Closed 2 years ago
Wasm baseline: On platforms with HeapReg, always use known-constant heap address as offset
Categories
(Core :: JavaScript: WebAssembly, enhancement, P5)
Core
JavaScript: WebAssembly
Tracking
()
RESOLVED
INACTIVE
People
(Reporter: lth, Unassigned)
References
Details
Bug 1316831 recognizes constant heap addresses and folds any offset into the pointer, leaving a (frequently non-bounds-checked) access via the known address. On architectures with a HeapReg (every platform except x86) we may be able to use this known address as an offset immediate for the load or store instruction itself. On x64, which has large immediates, this will always be possible; on other platforms, only if the immediate is fairly small or has certain forms. But in the worst case on those platforms we'll fall back to loading the address into a temp, which is no worse (and probably better) than the current situation. (Even on x86 this may yield some improvements, since the known address may be embeddable in the patched heap pointer. TBD.) This is an instruction-selection micro-optimization, we should hold off on it until we've completed any work we'll do on bounds check elimination. Bug 1313576 tracks remaining work on that.
![]() |
||
Comment 1•7 years ago
|
||
Actually, on x64, displacement immediates are only 4 bytes (even for 64-bit accesses) so you'd need a two-instruction mov-immediate64;load to handle the full 64-bit address space. On x86, though, you can hit the whole 32-bit address space with one 4-byte immediate.
Reporter | ||
Updated•7 years ago
|
Priority: -- → P5
Comment 2•5 years ago
|
||
Per policy at https://wiki.mozilla.org/Bug_Triage/Projects/Bug_Handling/Bug_Husbandry#Inactive_Bugs. If this bug is not an enhancement request or a bug not present in a supported release of Firefox, then it may be reopened.
Status: NEW → RESOLVED
Closed: 5 years ago
Resolution: --- → INACTIVE
Updated•5 years ago
|
Status: RESOLVED → REOPENED
Resolution: INACTIVE → ---
Reporter | ||
Updated•5 years ago
|
Component: JavaScript Engine: JIT → Javascript: Web Assembly
Reporter | ||
Updated•5 years ago
|
Type: defect → enhancement
Reporter | ||
Updated•2 years ago
|
Status: REOPENED → RESOLVED
Closed: 5 years ago → 2 years ago
Resolution: --- → INACTIVE
You need to log in
before you can comment on or make changes to this bug.
Description
•