Cranelift: support reference types
Categories
(Core :: JavaScript: WebAssembly, enhancement, P3)
Tracking
()
Tracking | Status | |
---|---|---|
firefox74 | --- | fixed |
People
(Reporter: bbouvier, Assigned: rhunt)
References
Details
Attachments
(6 files)
47 bytes,
text/x-phabricator-request
|
Details | Review | |
47 bytes,
text/x-phabricator-request
|
Details | Review | |
47 bytes,
text/x-phabricator-request
|
Details | Review | |
47 bytes,
text/x-phabricator-request
|
Details | Review | |
47 bytes,
text/x-phabricator-request
|
Details | Review | |
47 bytes,
text/x-phabricator-request
|
Details | Review |
Support for references types has landed in Cranelift. It's mostly untested and does nothing in Baldrdash yet; we should support it at some point.
Updated•5 years ago
|
Assignee | ||
Comment 1•5 years ago
|
||
I'm working on this now, and have some WIP patches that pass the test-suite.
Assignee | ||
Comment 2•4 years ago
|
||
Turns out I had switched all jit-tests to only use cranelift except for the ones in the gc/ directory. So there were actually quite a few test failures to get through. I've got a good handle on them now and I think the only thing remaining is stackmap support and gc write barriers.
Assignee | ||
Comment 3•4 years ago
|
||
I have tests passing and the commits ready for review. These commits will be blocked on work landing upstream in wasmparser [1] and cranelift [2].
[1] https://github.com/bytecodealliance/wasmparser/pull/168
[2] https://github.com/bytecodealliance/cranelift/pull/1317
Assignee | ||
Comment 4•4 years ago
|
||
This commit updates the encoding of nullref to match the one given in
the reference types proposal.
Spec: https://github.com/WebAssembly/reference-types/pull/66
Assignee | ||
Comment 5•4 years ago
|
||
This commit changes the wasm compiler feature detection bits to report that
cranelift supports reference types.
Depends on D58882
Assignee | ||
Comment 6•4 years ago
|
||
This commit translates the basic parts of reference types that does not
require any barriers. AnyRef,FuncRef,NullRef are translated to R32/R64. The
existing bulk-memory instructions are extended to operate on multiple tables,
and the new reference type instructions are implemented with instance calls.
Depends on D58883
Assignee | ||
Comment 7•4 years ago
|
||
cranelift-wasm cannot express arbitrary control flow inside of
'global.get/set' easily. This makes it difficult to implement the pre/post write
barriers inline like the baseline compiler does.
[1] has a discussion about the ideal solution to problem, which involves a new IR
concept called templates. We will want to use that when it is ready.
In the short-term, this commit implements pre/post write barriers using slow OOL
functions and implements Wasm globals.
[1] https://github.com/bytecodealliance/cranelift/issues/1176
Depends on D58884
Assignee | ||
Comment 8•4 years ago
|
||
This commit adds support for receiving stackmaps from Cranelift
and converting to wasm::Stackmaps. [1] will change the stackmap
representation in Cranelift to be the same as in Spidermonkey.
The stack overflow/interrupt trap handler stackmap is implemented by
sharing code with Ion.
[1] https://github.com/bytecodealliance/cranelift/pull/1317
Depends on D58885
Assignee | ||
Comment 9•4 years ago
|
||
Cranelift fails this assertion and it's not clear to me that there is any restriction inside
Cranelift that would limit the set of registers we'd need to check here.
Depends on D58886
Assignee | ||
Comment 10•4 years ago
|
||
Comment 11•4 years ago
|
||
Pushed by rhunt@eqrion.net: https://hg.mozilla.org/integration/autoland/rev/48c545152a47 Wasm: Update encoding of nullref to match proposal. r=lth https://hg.mozilla.org/integration/autoland/rev/bdf099acc592 Wasm: Change compiler selection to allow Cranelift when reference types is enabled. r=jseward https://hg.mozilla.org/integration/autoland/rev/247e358f4fc7 Baldr: Translate reference types and implement table/ref instruction translation. r=jseward https://hg.mozilla.org/integration/autoland/rev/242e859e580f Baldr: Translate reference type globals using slow OOL barriers. r=jseward https://hg.mozilla.org/integration/autoland/rev/f89941b23fce Baldr: Add support for Cranelift stackmaps. r=jseward https://hg.mozilla.org/integration/autoland/rev/05de7598585a Wasm: Allow stackmaps that are indexed at an x86 indirect call instruction with any register. r=jseward
Comment 12•4 years ago
|
||
Backed out for bustage on WasmCraneliftCompile.cpp
backout: https://hg.mozilla.org/integration/autoland/rev/578b23afed741a5762a4249947bc122ec4e5f378
failure log: https://treeherder.mozilla.org/logviewer.html#/jobs?job_id=286390756&repo=autoland&lineNumber=5014
[task 2020-01-24T17:42:09.251Z] /builds/worker/fetches/gcc/bin/g++ -std=gnu++17 -o testJitGVN.o -c -I/builds/worker/workspace/build/src/obj-spider/dist/system_wrappers -include /builds/worker/workspace/build/src/config/gcc_hidden.h -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -fstack-protector-strong -DDEBUG=1 -DMOZ_HAS_MOZGLUE -DEXPORT_JS_API -Dtopsrcdir=/builds/worker/workspace/build/src/js/src -I/builds/worker/workspace/build/src/js/src/jsapi-tests -I/builds/worker/workspace/build/src/obj-spider/js/src/jsapi-tests -I/builds/worker/workspace/build/src/obj-spider/js/src -I/builds/worker/workspace/build/src/js/src -I/builds/worker/workspace/build/src/obj-spider/dist/include -I/builds/worker/workspace/build/src/obj-spider/dist/include/nspr -fPIC -DMOZILLA_CLIENT -include /builds/worker/workspace/build/src/obj-spider/js/src/js-confdefs.h -Wall -Wempty-body -Wignored-qualifiers -Woverloaded-virtual -Wpointer-arith -Wsign-compare -Wtype-limits -Wunreachable-code -Wwrite-strings -Wno-invalid-offsetof -Wduplicated-cond -Wimplicit-fallthrough -Wno-error=maybe-uninitialized -Wno-error=deprecated-declarations -Wno-error=array-bounds -Wno-error=coverage-mismatch -Wno-error=free-nonheap-object -Wformat -Wformat-overflow=2 -Wno-noexcept-type -D_GLIBCXX_USE_CXX11_ABI=0 -fno-sized-deallocation -fno-aligned-new -fno-rtti -ffunction-sections -fdata-sections -fno-exceptions -fno-math-errno -pthread -pipe -g -freorder-blocks -O3 -fno-omit-frame-pointer -funwind-tables -Werror -fno-strict-aliasing -Werror=format -Wno-shadow -Wno-attributes -MD -MP -MF .deps/testJitGVN.o.pp /builds/worker/workspace/build/src/js/src/jsapi-tests/testJitGVN.cpp
[task 2020-01-24T17:42:09.251Z] js/src/jsapi-tests/testJitMacroAssembler.o
[task 2020-01-24T17:42:11.279Z] /builds/worker/workspace/build/src/js/src/wasm/WasmCraneliftCompile.cpp: In function 'bool GenerateCraneliftCode(js::jit::WasmMacroAssembler&, const CraneliftCompiledFunc&, const js::wasm::FuncTypeWithId&, uint32_t, uint32_t, js::wasm::StackMaps*, size_t, size_t, js::wasm::FuncOffsets*)':
[task 2020-01-24T17:42:11.279Z] /builds/worker/workspace/build/src/js/src/wasm/WasmCraneliftCompile.cpp:131:5: error: 'GenerateTrapExitMachineState' was not declared in this scope
[task 2020-01-24T17:42:11.279Z] GenerateTrapExitMachineState(&trapExitLayout, &trapExitLayoutNumWords);
[task 2020-01-24T17:42:11.279Z] ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
[task 2020-01-24T17:42:11.732Z] /builds/worker/fetches/gcc/bin/g++ -std=gnu++17 -o testJitMacroAssembler.o -c -I/builds/worker/workspace/build/src/obj-spider/dist/system_wrappers -include /builds/worker/workspace/build/src/config/gcc_hidden.h -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -fstack-protector-strong -DDEBUG=1 -DMOZ_HAS_MOZGLUE -DEXPORT_JS_API -Dtopsrcdir=/builds/worker/workspace/build/src/js/src -I/builds/worker/workspace/build/src/js/src/jsapi-tests -I/builds/worker/workspace/build/src/obj-spider/js/src/jsapi-tests -I/builds/worker/workspace/build/src/obj-spider/js/src -I/builds/worker/workspace/build/src/js/src -I/builds/worker/workspace/build/src/obj-spider/dist/include -I/builds/worker/workspace/build/src/obj-spider/dist/include/nspr -fPIC -DMOZILLA_CLIENT -include /builds/worker/workspace/build/src/obj-spider/js/src/js-confdefs.h -Wall -Wempty-body -Wignored-qualifiers -Woverloaded-virtual -Wpointer-arith -Wsign-compare -Wtype-limits -Wunreachable-code -Wwrite-strings -Wno-invalid-offsetof -Wduplicated-cond -Wimplicit-fallthrough -Wno-error=maybe-uninitialized -Wno-error=deprecated-declarations -Wno-error=array-bounds -Wno-error=coverage-mismatch -Wno-error=free-nonheap-object -Wformat -Wformat-overflow=2 -Wno-noexcept-type -D_GLIBCXX_USE_CXX11_ABI=0 -fno-sized-deallocation -fno-aligned-new -fno-rtti -ffunction-sections -fdata-sections -fno-exceptions -fno-math-errno -pthread -pipe -g -freorder-blocks -O3 -fno-omit-frame-pointer -funwind-tables -Werror -fno-strict-aliasing -Werror=format -Wno-shadow -Wno-attributes -MD -MP -MF .deps/testJitMacroAssembler.o.pp /builds/worker/workspace/build/src/js/src/jsapi-tests/testJitMacroAssembler.cpp
[task 2020-01-24T17:42:11.732Z] js/src/jsapi-tests/testJitMoveEmitterCycles-mips32.o
Comment 14•4 years ago
|
||
Pushed by rhunt@eqrion.net: https://hg.mozilla.org/integration/autoland/rev/f76fa61db00e Wasm: Update encoding of nullref to match proposal. r=lth https://hg.mozilla.org/integration/autoland/rev/c23741f62a09 Wasm: Change compiler selection to allow Cranelift when reference types is enabled. r=jseward https://hg.mozilla.org/integration/autoland/rev/e800ad37740b Baldr: Translate reference types and implement table/ref instruction translation. r=jseward https://hg.mozilla.org/integration/autoland/rev/6524f814a556 Baldr: Translate reference type globals using slow OOL barriers. r=jseward https://hg.mozilla.org/integration/autoland/rev/fd4311521f6b Baldr: Add support for Cranelift stackmaps. r=jseward https://hg.mozilla.org/integration/autoland/rev/5683b58e5a5c Wasm: Allow stackmaps that are indexed at an x86 indirect call instruction with any register. r=jseward
Comment 15•4 years ago
|
||
Backout by opoprus@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/90a631ef67b5 Backed out 6 changesets for build bustages on a CLOSED TREE
Comment 16•4 years ago
|
||
Backed out 6 changesets (bug 1574865) for build bustages
Push that started the failures: https://treeherder.mozilla.org/#/jobs?repo=autoland&resultStatus=superseded%2Ctestfailed%2Cbusted%2Cexception%2Crunnable&revision=5683b58e5a5c2782645bacc08f3dadb043809e7e&selectedJob=286428253
Failure log: https://treeherder.mozilla.org/logviewer.html#/jobs?job_id=286428220&repo=autoland&lineNumber=7192
Backout: https://hg.mozilla.org/integration/autoland/rev/90a631ef67b5f2c13b8c63c63ea7d789445b6531
[task 2020-01-24T23:17:11.130Z] 23:17:11 ERROR - error[E0407]: method translate_table_grow
is not a member of trait FuncEnvironment
[task 2020-01-24T23:17:11.130Z] 23:17:11 INFO - --> js/src/wasm/cranelift/src/wasm2clif.rs:1065:5
[task 2020-01-24T23:17:11.131Z] 23:17:11 INFO - |
[task 2020-01-24T23:17:11.131Z] 23:17:11 INFO - 1065 | / fn translate_table_grow(
[task 2020-01-24T23:17:11.132Z] 23:17:11 INFO - 1066 | | &mut self,
[task 2020-01-24T23:17:11.132Z] 23:17:11 INFO - 1067 | | mut pos: FuncCursor,
[task 2020-01-24T23:17:11.137Z] 23:17:11 INFO - 1068 | | table_index: u32,
[task 2020-01-24T23:17:11.137Z] 23:17:11 INFO - ... |
[task 2020-01-24T23:17:11.137Z] 23:17:11 INFO - 1075 | | .unwrap())
[task 2020-01-24T23:17:11.137Z] 23:17:11 INFO - 1076 | | }
[task 2020-01-24T23:17:11.137Z] 23:17:11 INFO - | |^ not a member of trait FuncEnvironment
[task 2020-01-24T23:17:11.138Z] 23:17:11 ERROR - error[E0407]: method translate_table_get
is not a member of trait FuncEnvironment
[task 2020-01-24T23:17:11.138Z] 23:17:11 INFO - --> js/src/wasm/cranelift/src/wasm2clif.rs:1078:5
[task 2020-01-24T23:17:11.138Z] 23:17:11 INFO - |
[task 2020-01-24T23:17:11.138Z] 23:17:11 INFO - 1078 | / fn translate_table_get(
[task 2020-01-24T23:17:11.138Z] 23:17:11 INFO - 1079 | | &mut self,
[task 2020-01-24T23:17:11.138Z] 23:17:11 INFO - 1080 | | mut pos: FuncCursor,
[task 2020-01-24T23:17:11.138Z] 23:17:11 INFO - 1081 | | table_index: u32,
[task 2020-01-24T23:17:11.138Z] 23:17:11 INFO - ... |
[task 2020-01-24T23:17:11.139Z] 23:17:11 INFO - 1087 | | .unwrap())
[task 2020-01-24T23:17:11.139Z] 23:17:11 INFO - 1088 | | }
[task 2020-01-24T23:17:11.139Z] 23:17:11 INFO - | |^ not a member of trait FuncEnvironment
[task 2020-01-24T23:17:11.139Z] 23:17:11 ERROR - error[E0407]: method translate_table_set
is not a member of trait FuncEnvironment
[task 2020-01-24T23:17:11.139Z] 23:17:11 INFO - --> js/src/wasm/cranelift/src/wasm2clif.rs:1090:5
[task 2020-01-24T23:17:11.139Z] 23:17:11 INFO - |
[task 2020-01-24T23:17:11.139Z] 23:17:11 INFO - 1090 | / fn translate_table_set(
[task 2020-01-24T23:17:11.140Z] 23:17:11 INFO - 1091 | | &mut self,
[task 2020-01-24T23:17:11.140Z] 23:17:11 INFO - 1092 | | mut pos: FuncCursor,
[task 2020-01-24T23:17:11.140Z] 23:17:11 INFO - 1093 | | table_index: u32,
[task 2020-01-24T23:17:11.140Z] 23:17:11 INFO - ... |
[task 2020-01-24T23:17:11.140Z] 23:17:11 INFO - 1099 | | Ok(())
[task 2020-01-24T23:17:11.140Z] 23:17:11 INFO - 1100 | | }
[task 2020-01-24T23:17:11.140Z] 23:17:11 INFO - | |^ not a member of trait FuncEnvironment
[task 2020-01-24T23:17:11.140Z] 23:17:11 ERROR - error[E0407]: method translate_table_fill
is not a member of trait FuncEnvironment
[task 2020-01-24T23:17:11.141Z] 23:17:11 INFO - --> js/src/wasm/cranelift/src/wasm2clif.rs:1127:5
[task 2020-01-24T23:17:11.141Z] 23:17:11 INFO - |
[task 2020-01-24T23:17:11.141Z] 23:17:11 INFO - 1127 | / fn translate_table_fill(
[task 2020-01-24T23:17:11.141Z] 23:17:11 INFO - 1128 | | &mut self,
[task 2020-01-24T23:17:11.141Z] 23:17:11 INFO - 1129 | | mut pos: FuncCursor,
[task 2020-01-24T23:17:11.141Z] 23:17:11 INFO - 1130 | | table_index: u32,
[task 2020-01-24T23:17:11.141Z] 23:17:11 INFO - ... |
[task 2020-01-24T23:17:11.141Z] 23:17:11 INFO - 1137 | | Ok(())
[task 2020-01-24T23:17:11.142Z] 23:17:11 INFO - 1138 | | }
[task 2020-01-24T23:17:11.142Z] 23:17:11 INFO - | |^ not a member of trait FuncEnvironment
[task 2020-01-24T23:17:11.143Z] 23:17:11 ERROR - error[E0407]: method translate_ref_func
is not a member of trait FuncEnvironment
[task 2020-01-24T23:17:11.143Z] 23:17:11 INFO - --> js/src/wasm/cranelift/src/wasm2clif.rs:1168:5
[task 2020-01-24T23:17:11.144Z] 23:17:11 INFO - |
[task 2020-01-24T23:17:11.144Z] 23:17:11 INFO - 1168 | / fn translate_ref_func(
[task 2020-01-24T23:17:11.145Z] 23:17:11 INFO - 1169 | | &mut self,
[task 2020-01-24T23:17:11.146Z] 23:17:11 INFO - 1170 | | mut pos: FuncCursor,
[task 2020-01-24T23:17:11.146Z] 23:17:11 INFO - 1171 | | func_index: u32,
[task 2020-01-24T23:17:11.147Z] 23:17:11 INFO - ... |
[task 2020-01-24T23:17:11.148Z] 23:17:11 INFO - 1176 | | .unwrap())
[task 2020-01-24T23:17:11.148Z] 23:17:11 INFO - 1177 | | }
[task 2020-01-24T23:17:11.149Z] 23:17:11 INFO - | |^ not a member of trait FuncEnvironment
[task 2020-01-24T23:17:11.150Z] 23:17:11 ERROR - error[E0407]: method translate_custom_global_get
is not a member of trait FuncEnvironment
[task 2020-01-24T23:17:11.151Z] 23:17:11 INFO - --> js/src/wasm/cranelift/src/wasm2clif.rs:1179:5
[task 2020-01-24T23:17:11.151Z] 23:17:11 INFO - |
[task 2020-01-24T23:17:11.152Z] 23:17:11 INFO - 1179 | / fn translate_custom_global_get(
[task 2020-01-24T23:17:11.153Z] 23:17:11 INFO - 1180 | | &mut self,
[task 2020-01-24T23:17:11.153Z] 23:17:11 INFO - 1181 | | mut pos: FuncCursor,
[task 2020-01-24T23:17:11.154Z] 23:17:11 INFO - 1182 | | global_index: GlobalIndex,
[task 2020-01-24T23:17:11.155Z] 23:17:11 INFO - ... |
[task 2020-01-24T23:17:11.155Z] 23:17:11 INFO - 1191 | | Ok(pos.ins().load(ty, flags, addr, offset))
[task 2020-01-24T23:17:11.156Z] 23:17:11 INFO - 1192 | | }
[task 2020-01-24T23:17:11.157Z] 23:17:11 INFO - | |^ not a member of trait FuncEnvironment
[task 2020-01-24T23:17:11.157Z] 23:17:11 ERROR - error[E0407]: method translate_custom_global_set
is not a member of trait FuncEnvironment
[task 2020-01-24T23:17:11.158Z] 23:17:11 INFO - --> js/src/wasm/cranelift/src/wasm2clif.rs:1194:5
[task 2020-01-24T23:17:11.159Z] 23:17:11 INFO - |
[task 2020-01-24T23:17:11.159Z] 23:17:11 INFO - 1194 | / fn translate_custom_global_set(
[task 2020-01-24T23:17:11.160Z] 23:17:11 INFO - 1195 | | &mut self,
[task 2020-01-24T23:17:11.161Z] 23:17:11 INFO - 1196 | | mut pos: FuncCursor,
[task 2020-01-24T23:17:11.162Z] 23:17:11 INFO - 1197 | | global_index: GlobalIndex,
[task 2020-01-24T23:17:11.162Z] 23:17:11 INFO - ... |
[task 2020-01-24T23:17:11.163Z] 23:17:11 INFO - 1220 | | Ok(())
[task 2020-01-24T23:17:11.164Z] 23:17:11 INFO - 1221 | | }
[task 2020-01-24T23:17:11.164Z] 23:17:11 INFO - | |_____^ not a member of trait FuncEnvironment
[task 2020-01-24T23:17:11.165Z] 23:17:11 INFO - warning: ignoring -C extra-filename flag due to -o flag
[task 2020-01-24T23:17:11.166Z] 23:17:11 INFO - error: aborting due to 7 previous errors
[task 2020-01-24T23:17:11.166Z] 23:17:11 INFO - For more information about this error, try rustc --explain E0407
.
[task 2020-01-24T23:17:11.167Z] 23:17:11 INFO - error: could not compile baldrdash
.
[task 2020-01-24T23:17:11.168Z] 23:17:11 INFO - Caused by:
[task 2020-01-24T23:17:11.169Z] 23:17:11 INFO - process didn't exit successfully: CARGO_PKG_VERSION=0.1.0 CARGO_PKG_VERSION_MAJOR=0 OUT_DIR=/builds/worker/workspace/build/src/obj-firefox/x86_64-unknown-linux-gnu/release/build/baldrdash-a9e39337bf4a836f/out CARGO_PKG_HOMEPAGE= CARGO_MANIFEST_DIR=/builds/worker/workspace/build/src/js/src/wasm/cranelift CARGO_PKG_VERSION_MINOR=1 CARGO_PKG_NAME=baldrdash CARGO_PKG_DESCRIPTION= CARGO_PKG_REPOSITORY= CARGO_PKG_AUTHORS='The Spidermonkey and Cranelift developers' LD_LIBRARY_PATH='/builds/worker/workspace/build/src/obj-firefox/release/deps:/builds/worker/fetches/rustc/lib:/builds/worker/fetches/clang/lib:/builds/worker/fetches/clang/lib32' CARGO_PKG_VERSION_PATCH=0 CARGO_PKG_VERSION_PRE= CARGO=/builds/worker/fetches/rustc/bin/cargo /builds/worker/fetches/sccache/sccache /builds/worker/fetches/rustc/bin/rustc --edition=2018 --crate-name baldrdash js/src/wasm/cranelift/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts --crate-type rlib --emit=dep-info,metadata,link -C opt-level=2 -C panic=abort -C codegen-units=1 --cfg 'feature="cranelift_x86"' --cfg 'feature="default"' -C metadata=f5e17efee61bb8de -C extra-filename=-f5e17efee61bb8de --out-dir /builds/worker/workspace/build/src/obj-firefox/x86_64-unknown-linux-gnu/release/deps --target x86_64-unknown-linux-gnu -L dependency=/builds/worker/workspace/build/src/obj-firefox/x86_64-unknown-linux-gnu/release/deps -L dependency=/builds/worker/workspace/build/src/obj-firefox/release/deps --extern cranelift_codegen=/builds/worker/workspace/build/src/obj-firefox/x86_64-unknown-linux-gnu/release/deps/libcranelift_codegen-04ed20c92f3195ce.rmeta --extern cranelift_wasm=/builds/worker/workspace/build/src/obj-firefox/x86_64-unknown-linux-gnu/release/deps/libcranelift_wasm-82e1c4e47559594b.rmeta --extern env_logger=/builds/worker/workspace/build/src/obj-firefox/x86_64-unknown-linux-gnu/release/deps/libenv_logger-021249ca1252d756.rmeta --extern log=/builds/worker/workspace/build/src/obj-firefox/x86_64-unknown-linux-gnu/release/deps/liblog-db3e6d54f5365a0c.rmeta --extern smallvec=/builds/worker/workspace/build/src/obj-firefox/x86_64-unknown-linux-gnu/release/deps/libsmallvec-a3333aff4ec35a9f.rmeta -C opt-level=2 -C debuginfo=2 --cap-lints warn -Zsanitizer=thread
(exit code: 1)
Assignee | ||
Comment 17•4 years ago
|
||
Oh. So the first backout included bug 1611302 [1], but it wasn't marked on the bug. On the second push I dropped that commit because I didn't want a conflict from it landing twice, but that mean it was missing bug 1611302 and failed.
[1] https://hg.mozilla.org/integration/autoland/rev/578b23afed741a5762a4249947bc122ec4e5f378
Assignee | ||
Comment 18•4 years ago
|
||
Comment 19•4 years ago
|
||
Pushed by rhunt@eqrion.net: https://hg.mozilla.org/integration/autoland/rev/985cd0a6aca9 Wasm: Update encoding of nullref to match proposal. r=lth https://hg.mozilla.org/integration/autoland/rev/7ed658e202e9 Wasm: Change compiler selection to allow Cranelift when reference types is enabled. r=jseward https://hg.mozilla.org/integration/autoland/rev/b32a5493de69 Baldr: Translate reference types and implement table/ref instruction translation. r=jseward https://hg.mozilla.org/integration/autoland/rev/850e59aaad92 Baldr: Translate reference type globals using slow OOL barriers. r=jseward https://hg.mozilla.org/integration/autoland/rev/bcb234673712 Baldr: Add support for Cranelift stackmaps. r=jseward https://hg.mozilla.org/integration/autoland/rev/d111f56f78e8 Wasm: Allow stackmaps that are indexed at an x86 indirect call instruction with any register. r=jseward
Comment 20•4 years ago
|
||
bugherder |
https://hg.mozilla.org/mozilla-central/rev/985cd0a6aca9
https://hg.mozilla.org/mozilla-central/rev/7ed658e202e9
https://hg.mozilla.org/mozilla-central/rev/b32a5493de69
https://hg.mozilla.org/mozilla-central/rev/850e59aaad92
https://hg.mozilla.org/mozilla-central/rev/bcb234673712
https://hg.mozilla.org/mozilla-central/rev/d111f56f78e8
Description
•