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 <stdlib.h> | 5 #include <stdlib.h> |
6 #include <string.h> | 6 #include <string.h> |
7 | 7 |
8 #include "src/snapshot/code-serializer.h" | 8 #include "src/snapshot/code-serializer.h" |
9 #include "src/version.h" | 9 #include "src/version.h" |
10 #include "src/wasm/module-decoder.h" | 10 #include "src/wasm/module-decoder.h" |
(...skipping 310 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
321 serialization_isolate, compiled_module.ToHandleChecked(), | 321 serialization_isolate, compiled_module.ToHandleChecked(), |
322 ModuleOrigin::kWasmOrigin); | 322 ModuleOrigin::kWasmOrigin); |
323 v8::Local<v8::Object> v8_module_obj = v8::Utils::ToLocal(module_obj); | 323 v8::Local<v8::Object> v8_module_obj = v8::Utils::ToLocal(module_obj); |
324 CHECK(v8_module_obj->IsWebAssemblyCompiledModule()); | 324 CHECK(v8_module_obj->IsWebAssemblyCompiledModule()); |
325 | 325 |
326 v8::Local<v8::WasmCompiledModule> v8_compiled_module = | 326 v8::Local<v8::WasmCompiledModule> v8_compiled_module = |
327 v8_module_obj.As<v8::WasmCompiledModule>(); | 327 v8_module_obj.As<v8::WasmCompiledModule>(); |
328 v8::Local<v8::String> uncompiled_bytes = | 328 v8::Local<v8::String> uncompiled_bytes = |
329 v8_compiled_module->GetWasmWireBytes(); | 329 v8_compiled_module->GetWasmWireBytes(); |
330 bytes_size = static_cast<size_t>(uncompiled_bytes->Length()); | 330 bytes_size = static_cast<size_t>(uncompiled_bytes->Length()); |
331 bytes = zone()->NewArray<uint8_t>(uncompiled_bytes->Length()); | 331 bytes = zone()->NewArray<uint8_t>(bytes_size); |
332 uncompiled_bytes->WriteOneByte(bytes); | 332 uncompiled_bytes->WriteOneByte(bytes, 0, uncompiled_bytes->Length(), |
| 333 v8::String::NO_NULL_TERMINATION); |
333 // keep alive data_ until the end | 334 // keep alive data_ until the end |
334 data_ = v8_compiled_module->Serialize(); | 335 data_ = v8_compiled_module->Serialize(); |
335 } | 336 } |
336 | 337 |
337 wire_bytes_ = {const_cast<const uint8_t*>(bytes), bytes_size}; | 338 wire_bytes_ = {const_cast<const uint8_t*>(bytes), bytes_size}; |
338 | 339 |
339 serialized_bytes_ = {data_.first.get(), data_.second}; | 340 serialized_bytes_ = {data_.first.get(), data_.second}; |
340 | 341 |
341 v8::Isolate::CreateParams create_params; | 342 v8::Isolate::CreateParams create_params; |
342 create_params.array_buffer_allocator = | 343 create_params.array_buffer_allocator = |
(...skipping 452 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
795 | 796 |
796 TEST(Run_WasmModule_Global_f32) { | 797 TEST(Run_WasmModule_Global_f32) { |
797 RunWasmModuleGlobalInitTest<float>(kAstF32, -983.9f); | 798 RunWasmModuleGlobalInitTest<float>(kAstF32, -983.9f); |
798 RunWasmModuleGlobalInitTest<float>(kAstF32, 1122.99f); | 799 RunWasmModuleGlobalInitTest<float>(kAstF32, 1122.99f); |
799 } | 800 } |
800 | 801 |
801 TEST(Run_WasmModule_Global_f64) { | 802 TEST(Run_WasmModule_Global_f64) { |
802 RunWasmModuleGlobalInitTest<double>(kAstF64, -833.9); | 803 RunWasmModuleGlobalInitTest<double>(kAstF64, -833.9); |
803 RunWasmModuleGlobalInitTest<double>(kAstF64, 86374.25); | 804 RunWasmModuleGlobalInitTest<double>(kAstF64, 86374.25); |
804 } | 805 } |
OLD | NEW |