Wasm compilers: split MIRType::Pointer uses into MIRType::{Pointer or RefOrNull}
Categories
(Core :: JavaScript: WebAssembly, enhancement)
Tracking
()
Tracking | Status | |
---|---|---|
firefox67 | --- | fixed |
People
(Reporter: jseward, Assigned: jseward)
References
Details
Attachments
(1 file, 1 obsolete file)
24.57 KB,
patch
|
lth
:
review+
|
Details | Diff | Splinter Review |
Currently both wasm compilers use MIRType::Pointer to refer to objects
allocated both on the C++ heap and the JS heap, and in fact to pretty
much any flavour of "address of something".
With the introduction of GC support for wasm we need to be much clearer
about which pointers denote a GCable object and which don't. This bug
introduces a new type, MIRType::RefOrNull, to denote GCable pointers
in wasm-land, and converts most but not all existing MIRType::Pointer values
to MIRType::RefOrNull.
Assignee | ||
Comment 1•7 years ago
•
|
||
Initial implementation, for perusal. It works well enough to survive
JS_GC_ZEAL=2,100 \
../src/jit-test/jit_test.py -f ./dist/bin/js --args="--no-wasm-ion" wasm/gc
and
../src/jit-test/jit_test.py -f ./dist/bin/js wasm
for arm{32,64} and x86_{32,64}.
WIP patch; there are 6 commented uses of MIRType::Pointer
that are probably
correct but are in need of further checking.
Assignee | ||
Updated•7 years ago
|
Updated•7 years ago
|
Comment 2•7 years ago
|
||
Assignee | ||
Comment 3•7 years ago
|
||
This is the same as the previous iteration of the patch, but with the
FIXME comments removed, and somewhat better tested.
Assignee | ||
Updated•7 years ago
|
Comment 4•7 years ago
|
||
Comment 6•6 years ago
|
||
bugherder |
Description
•