Commit 495a48c8 authored by mtrofin's avatar mtrofin Committed by Commit bot

[wasm] structured cloning opt-out flag

BUG=

Review-Url: https://codereview.chromium.org/2644643009
Cr-Commit-Position: refs/heads/master@{#42528}
parent 49808422
...@@ -499,6 +499,8 @@ DEFINE_NEG_IMPLICATION(minimal, use_ic) ...@@ -499,6 +499,8 @@ DEFINE_NEG_IMPLICATION(minimal, use_ic)
// Flags for native WebAssembly. // Flags for native WebAssembly.
DEFINE_BOOL(expose_wasm, true, "expose WASM interface to JavaScript") DEFINE_BOOL(expose_wasm, true, "expose WASM interface to JavaScript")
DEFINE_BOOL(wasm_disable_structured_cloning, false,
"disable WASM structured cloning")
DEFINE_INT(wasm_num_compilation_tasks, 10, DEFINE_INT(wasm_num_compilation_tasks, 10,
"number of parallel compilation tasks for wasm") "number of parallel compilation tasks for wasm")
DEFINE_BOOL(trace_wasm_encoder, false, "trace encoding of wasm code") DEFINE_BOOL(trace_wasm_encoder, false, "trace encoding of wasm code")
......
...@@ -418,7 +418,7 @@ Maybe<bool> ValueSerializer::WriteJSReceiver(Handle<JSReceiver> receiver) { ...@@ -418,7 +418,7 @@ Maybe<bool> ValueSerializer::WriteJSReceiver(Handle<JSReceiver> receiver) {
case JS_API_OBJECT_TYPE: { case JS_API_OBJECT_TYPE: {
Handle<JSObject> js_object = Handle<JSObject>::cast(receiver); Handle<JSObject> js_object = Handle<JSObject>::cast(receiver);
Map* map = js_object->map(); Map* map = js_object->map();
if (FLAG_expose_wasm && if (!FLAG_wasm_disable_structured_cloning &&
map->GetConstructor() == map->GetConstructor() ==
isolate_->native_context()->wasm_module_constructor()) { isolate_->native_context()->wasm_module_constructor()) {
return WriteWasmModule(js_object); return WriteWasmModule(js_object);
...@@ -1532,7 +1532,7 @@ MaybeHandle<JSArrayBufferView> ValueDeserializer::ReadJSArrayBufferView( ...@@ -1532,7 +1532,7 @@ MaybeHandle<JSArrayBufferView> ValueDeserializer::ReadJSArrayBufferView(
} }
MaybeHandle<JSObject> ValueDeserializer::ReadWasmModule() { MaybeHandle<JSObject> ValueDeserializer::ReadWasmModule() {
if (!FLAG_expose_wasm) return MaybeHandle<JSObject>(); if (FLAG_wasm_disable_structured_cloning) return MaybeHandle<JSObject>();
Vector<const uint8_t> encoding_tag; Vector<const uint8_t> encoding_tag;
if (!ReadRawBytes(sizeof(WasmEncodingTag)).To(&encoding_tag) || if (!ReadRawBytes(sizeof(WasmEncodingTag)).To(&encoding_tag) ||
......
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