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 419 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
430 } | 430 } |
431 | 431 |
432 Isolate* isolate_; | 432 Isolate* isolate_; |
433 volatile int32_t* memory_; | 433 volatile int32_t* memory_; |
434 static const int32_t interrupt_location_ = 10; | 434 static const int32_t interrupt_location_ = 10; |
435 static const int32_t interrupt_value_ = 154; | 435 static const int32_t interrupt_value_ = 154; |
436 static const int32_t signal_value_ = 1221; | 436 static const int32_t signal_value_ = 1221; |
437 }; | 437 }; |
438 | 438 |
439 TEST(TestInterruptLoop) { | 439 TEST(TestInterruptLoop) { |
| 440 // Do not dump the module of this test because it contains an infinite loop. |
| 441 if (FLAG_dump_wasm_module) return; |
| 442 |
440 // This test tests that WebAssembly loops can be interrupted, i.e. that if an | 443 // This test tests that WebAssembly loops can be interrupted, i.e. that if an |
441 // InterruptCallback is registered by {Isolate::RequestInterrupt}, then the | 444 // InterruptCallback is registered by {Isolate::RequestInterrupt}, then the |
442 // InterruptCallback is eventually called even if a loop in WebAssembly code | 445 // InterruptCallback is eventually called even if a loop in WebAssembly code |
443 // is executed. | 446 // is executed. |
444 // Test setup: | 447 // Test setup: |
445 // The main thread executes a WebAssembly function with a loop. In the loop | 448 // The main thread executes a WebAssembly function with a loop. In the loop |
446 // {signal_value_} is written to memory to signal a helper thread that the | 449 // {signal_value_} is written to memory to signal a helper thread that the |
447 // main thread reached the loop in the WebAssembly program. When the helper | 450 // main thread reached the loop in the WebAssembly program. When the helper |
448 // thread reads {signal_value_} from memory, it registers the | 451 // thread reads {signal_value_} from memory, it registers the |
449 // InterruptCallback. Upon exeution, the InterruptCallback write into the | 452 // InterruptCallback. Upon exeution, the InterruptCallback write into the |
(...skipping 259 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
709 | 712 |
710 TEST(Run_WasmModule_Global_f32) { | 713 TEST(Run_WasmModule_Global_f32) { |
711 RunWasmModuleGlobalInitTest<float>(kAstF32, -983.9f); | 714 RunWasmModuleGlobalInitTest<float>(kAstF32, -983.9f); |
712 RunWasmModuleGlobalInitTest<float>(kAstF32, 1122.99f); | 715 RunWasmModuleGlobalInitTest<float>(kAstF32, 1122.99f); |
713 } | 716 } |
714 | 717 |
715 TEST(Run_WasmModule_Global_f64) { | 718 TEST(Run_WasmModule_Global_f64) { |
716 RunWasmModuleGlobalInitTest<double>(kAstF64, -833.9); | 719 RunWasmModuleGlobalInitTest<double>(kAstF64, -833.9); |
717 RunWasmModuleGlobalInitTest<double>(kAstF64, 86374.25); | 720 RunWasmModuleGlobalInitTest<double>(kAstF64, 86374.25); |
718 } | 721 } |
OLD | NEW |