OLD | NEW |
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 <memory> | 5 #include <memory> |
6 | 6 |
7 #include "src/base/atomic-utils.h" | 7 #include "src/base/atomic-utils.h" |
8 #include "src/code-stubs.h" | 8 #include "src/code-stubs.h" |
9 | 9 |
10 #include "src/macro-assembler.h" | 10 #include "src/macro-assembler.h" |
(...skipping 1658 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1669 case kExternalMemory: { | 1669 case kExternalMemory: { |
1670 // Export the memory as a WebAssembly.Memory object. | 1670 // Export the memory as a WebAssembly.Memory object. |
1671 Handle<Object> memory_object( | 1671 Handle<Object> memory_object( |
1672 instance->GetInternalField(kWasmMemObject), isolate_); | 1672 instance->GetInternalField(kWasmMemObject), isolate_); |
1673 if (memory_object->IsUndefined(isolate_)) { | 1673 if (memory_object->IsUndefined(isolate_)) { |
1674 // If there was no imported WebAssembly.Memory object, create one. | 1674 // If there was no imported WebAssembly.Memory object, create one. |
1675 Handle<JSArrayBuffer> buffer( | 1675 Handle<JSArrayBuffer> buffer( |
1676 JSArrayBuffer::cast( | 1676 JSArrayBuffer::cast( |
1677 instance->GetInternalField(kWasmMemArrayBuffer)), | 1677 instance->GetInternalField(kWasmMemArrayBuffer)), |
1678 isolate_); | 1678 isolate_); |
1679 memory_object = | 1679 memory_object = WasmJs::CreateWasmMemoryObject( |
1680 WasmJs::CreateWasmMemoryObject(isolate_, buffer, false, 0); | 1680 isolate_, buffer, (module_->max_mem_pages != 0), |
| 1681 module_->max_mem_pages); |
1681 instance->SetInternalField(kWasmMemObject, *memory_object); | 1682 instance->SetInternalField(kWasmMemObject, *memory_object); |
1682 } | 1683 } |
1683 | 1684 |
1684 desc.set_value(memory_object); | 1685 desc.set_value(memory_object); |
1685 break; | 1686 break; |
1686 } | 1687 } |
1687 case kExternalGlobal: { | 1688 case kExternalGlobal: { |
1688 // Export the value of the global variable as a number. | 1689 // Export the value of the global variable as a number. |
1689 WasmGlobal& global = module_->globals[exp.index]; | 1690 WasmGlobal& global = module_->globals[exp.index]; |
1690 double num = 0; | 1691 double num = 0; |
(...skipping 541 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2232 CHECK_NOT_NULL(result.val); | 2233 CHECK_NOT_NULL(result.val); |
2233 module = const_cast<WasmModule*>(result.val); | 2234 module = const_cast<WasmModule*>(result.val); |
2234 } | 2235 } |
2235 | 2236 |
2236 Handle<WasmModuleWrapper> module_wrapper = | 2237 Handle<WasmModuleWrapper> module_wrapper = |
2237 WasmModuleWrapper::New(isolate, module); | 2238 WasmModuleWrapper::New(isolate, module); |
2238 | 2239 |
2239 compiled_module->set_module_wrapper(module_wrapper); | 2240 compiled_module->set_module_wrapper(module_wrapper); |
2240 DCHECK(WasmCompiledModule::IsWasmCompiledModule(*compiled_module)); | 2241 DCHECK(WasmCompiledModule::IsWasmCompiledModule(*compiled_module)); |
2241 } | 2242 } |
OLD | NEW |