Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(808)

Side by Side Diff: src/wasm/wasm-objects.cc

Issue 2771803005: Hide WasmModule.origin field behind readable accessors. (Closed)
Patch Set: Fix merge conflict with master. Created 3 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright 2015 the V8 project authors. All rights reserved. 1 // Copyright 2015 the V8 project authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "src/wasm/wasm-objects.h" 5 #include "src/wasm/wasm-objects.h"
6 #include "src/utils.h" 6 #include "src/utils.h"
7 7
8 #include "src/assembler-inl.h" 8 #include "src/assembler-inl.h"
9 #include "src/base/iterator.h" 9 #include "src/base/iterator.h"
10 #include "src/compiler/wasm-compiler.h" 10 #include "src/compiler/wasm-compiler.h"
(...skipping 203 matching lines...) Expand 10 before | Expand all | Expand 10 after
214 if (offset == static_cast<uint32_t>(offset_in_func)) return true; 214 if (offset == static_cast<uint32_t>(offset_in_func)) return true;
215 } 215 }
216 return false; 216 return false;
217 } 217 }
218 #endif // DEBUG 218 #endif // DEBUG
219 219
220 } // namespace 220 } // namespace
221 221
222 Handle<WasmModuleObject> WasmModuleObject::New( 222 Handle<WasmModuleObject> WasmModuleObject::New(
223 Isolate* isolate, Handle<WasmCompiledModule> compiled_module) { 223 Isolate* isolate, Handle<WasmCompiledModule> compiled_module) {
224 ModuleOrigin origin = compiled_module->module()->origin; 224 ModuleOrigin origin = compiled_module->module()->get_origin();
225 225
226 Handle<JSObject> module_object; 226 Handle<JSObject> module_object;
227 if (origin == ModuleOrigin::kWasmOrigin) { 227 if (origin == ModuleOrigin::kWasmOrigin) {
Mircea Trofin 2017/03/24 22:25:15 why not use the is_wasm() / is_asm_js() APIs here,
Karl 2017/03/24 22:41:40 It is, look up at line 224.
Mircea Trofin 2017/03/24 22:43:42 that's get_origin()
Karl 2017/03/24 22:51:17 Ok. I see. I didn't read the usage well enough. Ch
228 Handle<JSFunction> module_cons( 228 Handle<JSFunction> module_cons(
229 isolate->native_context()->wasm_module_constructor()); 229 isolate->native_context()->wasm_module_constructor());
230 module_object = isolate->factory()->NewJSObject(module_cons); 230 module_object = isolate->factory()->NewJSObject(module_cons);
231 Handle<Symbol> module_sym(isolate->native_context()->wasm_module_sym()); 231 Handle<Symbol> module_sym(isolate->native_context()->wasm_module_sym());
232 Object::SetProperty(module_object, module_sym, module_object, STRICT) 232 Object::SetProperty(module_object, module_sym, module_object, STRICT)
233 .Check(); 233 .Check();
234 } else { 234 } else {
235 DCHECK(origin == ModuleOrigin::kAsmJsOrigin); 235 DCHECK(origin == ModuleOrigin::kAsmJsOrigin);
236 Handle<Map> map = isolate->factory()->NewMap( 236 Handle<Map> map = isolate->factory()->NewMap(
237 JS_OBJECT_TYPE, 237 JS_OBJECT_TYPE,
(...skipping 339 matching lines...) Expand 10 before | Expand all | Expand 10 after
577 } 577 }
578 if (!asm_js_offset_table.is_null()) { 578 if (!asm_js_offset_table.is_null()) {
579 arr->set(kAsmJsOffsetTable, *asm_js_offset_table); 579 arr->set(kAsmJsOffsetTable, *asm_js_offset_table);
580 } 580 }
581 581
582 DCHECK(WasmSharedModuleData::IsWasmSharedModuleData(*arr)); 582 DCHECK(WasmSharedModuleData::IsWasmSharedModuleData(*arr));
583 return Handle<WasmSharedModuleData>::cast(arr); 583 return Handle<WasmSharedModuleData>::cast(arr);
584 } 584 }
585 585
586 bool WasmSharedModuleData::is_asm_js() { 586 bool WasmSharedModuleData::is_asm_js() {
587 bool asm_js = module()->origin == wasm::ModuleOrigin::kAsmJsOrigin; 587 bool asm_js = module()->is_asm_js();
588 DCHECK_EQ(asm_js, script()->IsUserJavaScript()); 588 DCHECK_EQ(asm_js, script()->IsUserJavaScript());
589 DCHECK_EQ(asm_js, has_asm_js_offset_table()); 589 DCHECK_EQ(asm_js, has_asm_js_offset_table());
590 return asm_js; 590 return asm_js;
591 } 591 }
592 592
593 void WasmSharedModuleData::ReinitializeAfterDeserialization( 593 void WasmSharedModuleData::ReinitializeAfterDeserialization(
594 Isolate* isolate, Handle<WasmSharedModuleData> shared) { 594 Isolate* isolate, Handle<WasmSharedModuleData> shared) {
595 DCHECK(shared->get(kModuleWrapper)->IsUndefined(isolate)); 595 DCHECK(shared->get(kModuleWrapper)->IsUndefined(isolate));
596 #ifdef DEBUG 596 #ifdef DEBUG
597 // No BreakpointInfo objects should survive deserialization. 597 // No BreakpointInfo objects should survive deserialization.
(...skipping 617 matching lines...) Expand 10 before | Expand all | Expand 10 after
1215 if (!array->get(kWrapperInstanceObject)->IsWeakCell()) return false; 1215 if (!array->get(kWrapperInstanceObject)->IsWeakCell()) return false;
1216 Isolate* isolate = array->GetIsolate(); 1216 Isolate* isolate = array->GetIsolate();
1217 if (!array->get(kNextInstanceWrapper)->IsUndefined(isolate) && 1217 if (!array->get(kNextInstanceWrapper)->IsUndefined(isolate) &&
1218 !array->get(kNextInstanceWrapper)->IsFixedArray()) 1218 !array->get(kNextInstanceWrapper)->IsFixedArray())
1219 return false; 1219 return false;
1220 if (!array->get(kPreviousInstanceWrapper)->IsUndefined(isolate) && 1220 if (!array->get(kPreviousInstanceWrapper)->IsUndefined(isolate) &&
1221 !array->get(kPreviousInstanceWrapper)->IsFixedArray()) 1221 !array->get(kPreviousInstanceWrapper)->IsFixedArray())
1222 return false; 1222 return false;
1223 return true; 1223 return true;
1224 } 1224 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698