Closed
Bug 1287224
Opened 8 years ago
Closed 8 years ago
Unify MWasmBoundsCheck::redunant_ and needsBoundsCheck
Categories
(Core :: JavaScript Engine: JIT, defect, P3)
Core
JavaScript Engine: JIT
Tracking
()
RESOLVED
DUPLICATE
of bug 1298202
People
(Reporter: lami4ka, Unassigned)
References
Details
The redundant_ flag and mir->needsBoundsCheck() fulfill a very similar role - determining when a bounds check can be removed. They are not yet merged since:
1) needsBoundsCheck() governs the behavior of both AsmJS and Wasm bounds checks. Since those have subtly different semantics, merging them needs to be done carefully
2) As a stylistic nit, needsBoundsCheck() is defined on all MWasmMemory Accesse's, even MWasmLoad and MWasmStore. However it doesn't do anything on MWasmLoad/MWasmStore. On the other hand needsBoundsCheck() (as part of MWasmMemoryAccess) is bundled with fields that DO apply to MWasmLoad and MWasmStore. It would be nice to decouple it, so that its only defined on nodes for which it makes sense.
Comment 1•8 years ago
|
||
For 2, we could split the inheritance hierarchy to make clearer which classes use which fields.
For 1, AsmJS embeds bounds checks in instructions anyways; asm.js atomics and SIMD memory accesses could maybe use the same mechanism as Wasm, as their behavior on OOB is to just throw, as in wasm.
With this in mind, I think we can experiment with merging both fields now.
Updated•8 years ago
|
Priority: -- → P3
Updated•8 years ago
|
Status: NEW → RESOLVED
Closed: 8 years ago
Resolution: --- → DUPLICATE
You need to log in
before you can comment on or make changes to this bug.
Description
•