| 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 1888 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1899 Handle<JSArrayBuffer> buffer = NewArrayBuffer(isolate, new_size); | 1899 Handle<JSArrayBuffer> buffer = NewArrayBuffer(isolate, new_size); |
| 1900 if (buffer.is_null()) return -1; | 1900 if (buffer.is_null()) return -1; |
| 1901 Address new_mem_start = static_cast<Address>(buffer->backing_store()); | 1901 Address new_mem_start = static_cast<Address>(buffer->backing_store()); |
| 1902 if (old_size != 0) { | 1902 if (old_size != 0) { |
| 1903 memcpy(new_mem_start, old_mem_start, old_size); | 1903 memcpy(new_mem_start, old_mem_start, old_size); |
| 1904 } | 1904 } |
| 1905 SetInstanceMemory(instance, *buffer); | 1905 SetInstanceMemory(instance, *buffer); |
| 1906 Handle<FixedArray> code_table = GetCompiledModule(*instance)->code_table(); | 1906 Handle<FixedArray> code_table = GetCompiledModule(*instance)->code_table(); |
| 1907 RelocateMemoryReferencesInCode(code_table, old_mem_start, new_mem_start, | 1907 RelocateMemoryReferencesInCode(code_table, old_mem_start, new_mem_start, |
| 1908 old_size, new_size); | 1908 old_size, new_size); |
| 1909 Handle<Object> memory_object(instance->GetInternalField(kWasmMemObject), |
| 1910 isolate); |
| 1911 if (!memory_object->IsUndefined(isolate)) { |
| 1912 WasmJs::SetWasmMemoryArrayBuffer(isolate, memory_object, buffer); |
| 1913 } |
| 1914 |
| 1909 DCHECK(old_size % WasmModule::kPageSize == 0); | 1915 DCHECK(old_size % WasmModule::kPageSize == 0); |
| 1910 return (old_size / WasmModule::kPageSize); | 1916 return (old_size / WasmModule::kPageSize); |
| 1911 } | 1917 } |
| 1912 | 1918 |
| 1913 void testing::ValidateInstancesChain(Isolate* isolate, | 1919 void testing::ValidateInstancesChain(Isolate* isolate, |
| 1914 Handle<JSObject> wasm_module, | 1920 Handle<JSObject> wasm_module, |
| 1915 int instance_count) { | 1921 int instance_count) { |
| 1916 CHECK_GE(instance_count, 0); | 1922 CHECK_GE(instance_count, 0); |
| 1917 DisallowHeapAllocation no_gc; | 1923 DisallowHeapAllocation no_gc; |
| 1918 WasmCompiledModule* compiled_module = | 1924 WasmCompiledModule* compiled_module = |
| (...skipping 62 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1981 CHECK_NOT_NULL(result.val); | 1987 CHECK_NOT_NULL(result.val); |
| 1982 module = const_cast<WasmModule*>(result.val); | 1988 module = const_cast<WasmModule*>(result.val); |
| 1983 } | 1989 } |
| 1984 | 1990 |
| 1985 Handle<WasmModuleWrapper> module_wrapper = | 1991 Handle<WasmModuleWrapper> module_wrapper = |
| 1986 WasmModuleWrapper::New(isolate, module); | 1992 WasmModuleWrapper::New(isolate, module); |
| 1987 | 1993 |
| 1988 compiled_module->set_module_wrapper(module_wrapper); | 1994 compiled_module->set_module_wrapper(module_wrapper); |
| 1989 DCHECK(WasmCompiledModule::IsWasmCompiledModule(*compiled_module)); | 1995 DCHECK(WasmCompiledModule::IsWasmCompiledModule(*compiled_module)); |
| 1990 } | 1996 } |
| OLD | NEW |