|
[wasm] Introduce instance types for WebAssembly.* objects.
This CL refactors the internal representation of JavaScript-exposed
WebAssembly objects to be more like other such objects in V8. By introducing
a new instance type for each of the JS-exposed types, we get more robust
typechecking without using embedder fields (which were previously used
when these objects where instance type JS_API_OBJECT).
In addition to the new instance types, the subclasses X of JSObject
(WasmInstanceObject, WasmMemoryObject, WasmModuleObject, WasmTableObject)
now have appropriate Is##X() methods on Object and are now robust.
BUG= v8:6547
CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_chromium_rel_ng
Review-Url: https://codereview.chromium.org/2964943002
Cr-Commit-Position: refs/heads/master@{#46475}
Committed: https://chromium.googlesource.com/v8/v8/+/17001a05c8ca848b75f3c667192bcf99bdcd42fd
Total comments: 24
Total comments: 13
|
Unified diffs |
Side-by-side diffs |
Delta from patch set |
Stats (+537 lines, -548 lines) |
Patch |
|
M |
src/api.cc
|
View
|
1
2
3
4
5
6
|
2 chunks |
+6 lines, -6 lines |
0 comments
|
Download
|
|
M |
src/compiler/types.cc
|
View
|
|
1 chunk |
+4 lines, -0 lines |
0 comments
|
Download
|
|
M |
src/deoptimizer.cc
|
View
|
|
1 chunk |
+4 lines, -0 lines |
0 comments
|
Download
|
|
M |
src/heap/heap.cc
|
View
|
1
2
3
4
5
6
|
1 chunk |
+4 lines, -0 lines |
0 comments
|
Download
|
|
M |
src/objects.h
|
View
|
1
2
3
4
5
6
|
6 chunks |
+19 lines, -1 line |
0 comments
|
Download
|
|
M |
src/objects.cc
|
View
|
1
2
3
4
5
6
|
2 chunks |
+80 lines, -0 lines |
0 comments
|
Download
|
|
M |
src/objects-body-descriptors-inl.h
|
View
|
|
1 chunk |
+4 lines, -0 lines |
0 comments
|
Download
|
|
M |
src/objects-debug.cc
|
View
|
1
2
3
|
1 chunk |
+4 lines, -0 lines |
0 comments
|
Download
|
|
M |
src/objects-inl.h
|
View
|
1
2
3
|
2 chunks |
+7 lines, -70 lines |
0 comments
|
Download
|
|
M |
src/objects-printer.cc
|
View
|
1
2
3
4
5
6
|
1 chunk |
+4 lines, -0 lines |
0 comments
|
Download
|
|
M |
src/runtime/runtime-test.cc
|
View
|
1
2
3
4
5
6
|
6 chunks |
+6 lines, -16 lines |
0 comments
|
Download
|
|
M |
src/runtime/runtime-wasm.cc
|
View
|
|
1 chunk |
+1 line, -4 lines |
0 comments
|
Download
|
|
M |
src/value-serializer.h
|
View
|
|
1 chunk |
+2 lines, -1 line |
0 comments
|
Download
|
|
M |
src/value-serializer.cc
|
View
|
1
2
3
4
5
6
|
4 chunks |
+11 lines, -10 lines |
0 comments
|
Download
|
|
M |
src/wasm/module-compiler.cc
|
View
|
1
2
3
4
5
6
|
4 chunks |
+3 lines, -4 lines |
0 comments
|
Download
|
|
M |
src/wasm/wasm-debug.cc
|
View
|
|
4 chunks |
+14 lines, -15 lines |
0 comments
|
Download
|
|
M |
src/wasm/wasm-interpreter.h
|
View
|
|
2 chunks |
+2 lines, -2 lines |
0 comments
|
Download
|
|
M |
src/wasm/wasm-js.cc
|
View
|
1
2
3
4
|
8 chunks |
+13 lines, -19 lines |
0 comments
|
Download
|
|
M |
src/wasm/wasm-module.h
|
View
|
|
1 chunk |
+0 lines, -7 lines |
0 comments
|
Download
|
|
M |
src/wasm/wasm-module.cc
|
View
|
|
5 chunks |
+12 lines, -13 lines |
0 comments
|
Download
|
|
M |
src/wasm/wasm-objects.h
|
View
|
1
2
3
4
|
13 chunks |
+262 lines, -135 lines |
0 comments
|
Download
|
|
M |
src/wasm/wasm-objects.cc
|
View
|
1
2
3
4
|
22 chunks |
+66 lines, -239 lines |
0 comments
|
Download
|
|
M |
test/cctest/wasm/test-run-wasm-module.cc
|
View
|
|
2 chunks |
+3 lines, -4 lines |
0 comments
|
Download
|
|
M |
tools/v8heapconst.py
|
View
|
1
2
3
4
5
|
1 chunk |
+6 lines, -2 lines |
0 comments
|
Download
|
Dependent Patchsets:
Total messages: 48 (38 generated)
|