Commit 16f18697 authored by Clemens Hammacher's avatar Clemens Hammacher Committed by Commit Bot

[wasm][cleanup] Stronger typing for managed_module

Instead of just {Object}, this field can be typed as
{Managed<wasm::Module>}.

R=herhut@chromium.org

Change-Id: Iad47f75ae823846394b6ad04e8829961e924f33d
Reviewed-on: https://chromium-review.googlesource.com/1102333Reviewed-by: 's avatarStephan Herhut <herhut@chromium.org>
Commit-Queue: Clemens Hammacher <clemensh@chromium.org>
Cr-Commit-Position: refs/heads/master@{#53762}
parent 58678663
...@@ -52,13 +52,17 @@ CAST_ACCESSOR(WasmTableObject) ...@@ -52,13 +52,17 @@ CAST_ACCESSOR(WasmTableObject)
ACCESSORS(WasmModuleObject, compiled_module, WasmCompiledModule, ACCESSORS(WasmModuleObject, compiled_module, WasmCompiledModule,
kCompiledModuleOffset) kCompiledModuleOffset)
ACCESSORS(WasmModuleObject, export_wrappers, FixedArray, kExportWrappersOffset) ACCESSORS(WasmModuleObject, export_wrappers, FixedArray, kExportWrappersOffset)
ACCESSORS(WasmModuleObject, managed_module, Object, kManagedModuleOffset) ACCESSORS(WasmModuleObject, managed_module, Managed<wasm::WasmModule>,
kManagedModuleOffset)
ACCESSORS(WasmModuleObject, module_bytes, SeqOneByteString, kModuleBytesOffset) ACCESSORS(WasmModuleObject, module_bytes, SeqOneByteString, kModuleBytesOffset)
ACCESSORS(WasmModuleObject, script, Script, kScriptOffset) ACCESSORS(WasmModuleObject, script, Script, kScriptOffset)
OPTIONAL_ACCESSORS(WasmModuleObject, asm_js_offset_table, ByteArray, OPTIONAL_ACCESSORS(WasmModuleObject, asm_js_offset_table, ByteArray,
kAsmJsOffsetTableOffset) kAsmJsOffsetTableOffset)
OPTIONAL_ACCESSORS(WasmModuleObject, breakpoint_infos, FixedArray, OPTIONAL_ACCESSORS(WasmModuleObject, breakpoint_infos, FixedArray,
kBreakPointInfosOffset) kBreakPointInfosOffset)
wasm::WasmModule* WasmModuleObject::module() const {
return managed_module()->raw();
}
void WasmModuleObject::reset_breakpoint_infos() { void WasmModuleObject::reset_breakpoint_infos() {
WRITE_FIELD(this, kBreakPointInfosOffset, GetHeap()->undefined_value()); WRITE_FIELD(this, kBreakPointInfosOffset, GetHeap()->undefined_value());
} }
......
...@@ -273,7 +273,8 @@ enum DispatchTableElements : int { ...@@ -273,7 +273,8 @@ enum DispatchTableElements : int {
Handle<WasmModuleObject> WasmModuleObject::New( Handle<WasmModuleObject> WasmModuleObject::New(
Isolate* isolate, Handle<WasmCompiledModule> compiled_module, Isolate* isolate, Handle<WasmCompiledModule> compiled_module,
Handle<FixedArray> export_wrappers, Handle<Foreign> managed_module, Handle<FixedArray> export_wrappers,
Handle<Managed<wasm::WasmModule>> managed_module,
Handle<SeqOneByteString> module_bytes, Handle<Script> script, Handle<SeqOneByteString> module_bytes, Handle<Script> script,
Handle<ByteArray> asm_js_offset_table) { Handle<ByteArray> asm_js_offset_table) {
Handle<JSFunction> module_cons( Handle<JSFunction> module_cons(
...@@ -337,10 +338,6 @@ void WasmModuleObject::ValidateStateForTesting( ...@@ -337,10 +338,6 @@ void WasmModuleObject::ValidateStateForTesting(
CHECK(!compiled_module->has_instance()); CHECK(!compiled_module->has_instance());
} }
WasmModule* WasmModuleObject::module() const {
return Managed<WasmModule>::cast(managed_module())->raw();
}
bool WasmModuleObject::is_asm_js() { bool WasmModuleObject::is_asm_js() {
bool asm_js = module()->origin == wasm::kAsmJsOrigin; bool asm_js = module()->origin == wasm::kAsmJsOrigin;
DCHECK_EQ(asm_js, script()->IsUserJavaScript()); DCHECK_EQ(asm_js, script()->IsUserJavaScript());
......
...@@ -108,8 +108,8 @@ class WasmModuleObject : public JSObject { ...@@ -108,8 +108,8 @@ class WasmModuleObject : public JSObject {
// Shared compiled code between multiple WebAssembly.Module objects. // Shared compiled code between multiple WebAssembly.Module objects.
DECL_ACCESSORS(compiled_module, WasmCompiledModule) DECL_ACCESSORS(compiled_module, WasmCompiledModule)
DECL_ACCESSORS(export_wrappers, FixedArray) DECL_ACCESSORS(export_wrappers, FixedArray)
DECL_ACCESSORS(managed_module, Object) DECL_ACCESSORS(managed_module, Managed<wasm::WasmModule>)
wasm::WasmModule* module() const; inline wasm::WasmModule* module() const;
DECL_ACCESSORS(module_bytes, SeqOneByteString) DECL_ACCESSORS(module_bytes, SeqOneByteString)
DECL_ACCESSORS(script, Script) DECL_ACCESSORS(script, Script)
DECL_OPTIONAL_ACCESSORS(asm_js_offset_table, ByteArray) DECL_OPTIONAL_ACCESSORS(asm_js_offset_table, ByteArray)
...@@ -137,7 +137,8 @@ class WasmModuleObject : public JSObject { ...@@ -137,7 +137,8 @@ class WasmModuleObject : public JSObject {
static Handle<WasmModuleObject> New( static Handle<WasmModuleObject> New(
Isolate* isolate, Handle<WasmCompiledModule> compiled_module, Isolate* isolate, Handle<WasmCompiledModule> compiled_module,
Handle<FixedArray> export_wrappers, Handle<Foreign> managed_module, Handle<FixedArray> export_wrappers,
Handle<Managed<wasm::WasmModule>> managed_module,
Handle<SeqOneByteString> module_bytes, Handle<Script> script, Handle<SeqOneByteString> module_bytes, Handle<Script> script,
Handle<ByteArray> asm_js_offset_table); Handle<ByteArray> asm_js_offset_table);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment