OLD | NEW |
1 // Copyright 2016 the V8 project authors. All rights reserved. | 1 // Copyright 2016 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 #ifndef WASM_RUN_UTILS_H | 5 #ifndef WASM_RUN_UTILS_H |
6 #define WASM_RUN_UTILS_H | 6 #define WASM_RUN_UTILS_H |
7 | 7 |
8 #include <setjmp.h> | 8 #include <setjmp.h> |
9 #include <stdint.h> | 9 #include <stdint.h> |
10 #include <stdlib.h> | 10 #include <stdlib.h> |
(...skipping 708 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
719 // Declare static variable. | 719 // Declare static variable. |
720 jmp_buf WasmRunnerBase::jump_buffer; | 720 jmp_buf WasmRunnerBase::jump_buffer; |
721 | 721 |
722 // A macro to define tests that run in different engine configurations. | 722 // A macro to define tests that run in different engine configurations. |
723 #define WASM_EXEC_TEST(name) \ | 723 #define WASM_EXEC_TEST(name) \ |
724 void RunWasm_##name(WasmExecutionMode execution_mode); \ | 724 void RunWasm_##name(WasmExecutionMode execution_mode); \ |
725 TEST(RunWasmCompiled_##name) { RunWasm_##name(kExecuteCompiled); } \ | 725 TEST(RunWasmCompiled_##name) { RunWasm_##name(kExecuteCompiled); } \ |
726 TEST(RunWasmInterpreted_##name) { RunWasm_##name(kExecuteInterpreted); } \ | 726 TEST(RunWasmInterpreted_##name) { RunWasm_##name(kExecuteInterpreted); } \ |
727 void RunWasm_##name(WasmExecutionMode execution_mode) | 727 void RunWasm_##name(WasmExecutionMode execution_mode) |
728 | 728 |
| 729 #if V8_CC_MSVC |
| 730 #define WASM_EXEC_TEST_WITH_TRAP(name) WASM_EXEC_TEST(name) |
| 731 #else |
729 #define WASM_EXEC_TEST_WITH_TRAP(name) \ | 732 #define WASM_EXEC_TEST_WITH_TRAP(name) \ |
730 void RunWasm_##name(WasmExecutionMode execution_mode); \ | 733 void RunWasm_##name(WasmExecutionMode execution_mode); \ |
731 TEST(RunWasmCompiled_##name) { RunWasm_##name(kExecuteCompiled); } \ | 734 TEST(RunWasmCompiled_##name) { RunWasm_##name(kExecuteCompiled); } \ |
732 void RunWasm_##name(WasmExecutionMode execution_mode); \ | 735 void RunWasm_##name(WasmExecutionMode execution_mode); \ |
733 TEST(RunWasmCompiledWithTrapIf_##name) { \ | 736 TEST(RunWasmCompiledWithTrapIf_##name) { \ |
734 bool trap_if = FLAG_wasm_trap_if; \ | 737 bool trap_if = FLAG_wasm_trap_if; \ |
735 FLAG_wasm_trap_if = true; \ | 738 FLAG_wasm_trap_if = true; \ |
736 RunWasm_##name(kExecuteCompiled); \ | 739 RunWasm_##name(kExecuteCompiled); \ |
737 FLAG_wasm_trap_if = trap_if; \ | 740 FLAG_wasm_trap_if = trap_if; \ |
738 } \ | 741 } \ |
739 TEST(RunWasmInterpreted_##name) { RunWasm_##name(kExecuteInterpreted); } \ | 742 TEST(RunWasmInterpreted_##name) { RunWasm_##name(kExecuteInterpreted); } \ |
740 void RunWasm_##name(WasmExecutionMode execution_mode) | 743 void RunWasm_##name(WasmExecutionMode execution_mode) |
| 744 #endif |
741 | 745 |
742 #define WASM_EXEC_COMPILED_TEST(name) \ | 746 #define WASM_EXEC_COMPILED_TEST(name) \ |
743 void RunWasm_##name(WasmExecutionMode execution_mode); \ | 747 void RunWasm_##name(WasmExecutionMode execution_mode); \ |
744 TEST(RunWasmCompiled_##name) { RunWasm_##name(kExecuteCompiled); } \ | 748 TEST(RunWasmCompiled_##name) { RunWasm_##name(kExecuteCompiled); } \ |
745 void RunWasm_##name(WasmExecutionMode execution_mode) | 749 void RunWasm_##name(WasmExecutionMode execution_mode) |
746 | 750 |
747 } // namespace | 751 } // namespace |
748 | 752 |
749 #endif | 753 #endif |
OLD | NEW |