Index: test/cctest/wasm/test-wasm-trap-position.cc |
diff --git a/test/cctest/wasm/test-wasm-trap-position.cc b/test/cctest/wasm/test-wasm-trap-position.cc |
index bd4e82dc4c86112b63e588f0859e6f50abfae166..b14e2bea683725f28472ccdadd7415dc1e5e75ff 100644 |
--- a/test/cctest/wasm/test-wasm-trap-position.cc |
+++ b/test/cctest/wasm/test-wasm-trap-position.cc |
@@ -62,17 +62,15 @@ void CheckExceptionInfos(Handle<Object> exc, |
// Trigger a trap for executing unreachable. |
TEST(Unreachable) { |
+ WasmRunner<void> r(kExecuteCompiled); |
TestSignatures sigs; |
- TestingModule module; |
- |
- WasmFunctionCompiler comp1(sigs.v_v(), &module, |
- ArrayVector("exec_unreachable")); |
// Set the execution context, such that a runtime error can be thrown. |
- comp1.SetModuleContext(); |
- BUILD(comp1, WASM_UNREACHABLE); |
- uint32_t wasm_index = comp1.CompileAndAdd(); |
+ r.SetModuleContext(); |
+ |
+ BUILD(r, WASM_UNREACHABLE); |
+ uint32_t wasm_index = r.function()->func_index; |
- Handle<JSFunction> js_wasm_wrapper = module.WrapCode(wasm_index); |
+ Handle<JSFunction> js_wasm_wrapper = r.module().WrapCode(wasm_index); |
Handle<JSFunction> js_trampoline = Handle<JSFunction>::cast( |
v8::Utils::OpenHandle(*v8::Local<v8::Function>::Cast( |
@@ -98,23 +96,22 @@ TEST(Unreachable) { |
// Trigger a trap for loading from out-of-bounds. |
TEST(IllegalLoad) { |
+ WasmRunner<void> r(kExecuteCompiled); |
TestSignatures sigs; |
- TestingModule module; |
- |
- WasmFunctionCompiler comp1(sigs.v_v(), &module, ArrayVector("mem_oob")); |
// Set the execution context, such that a runtime error can be thrown. |
- comp1.SetModuleContext(); |
- BUILD(comp1, WASM_IF(WASM_ONE, WASM_SEQ(WASM_LOAD_MEM(MachineType::Int32(), |
- WASM_I32V_1(-3)), |
- WASM_DROP))); |
- uint32_t wasm_index = comp1.CompileAndAdd(); |
+ r.SetModuleContext(); |
+ |
+ BUILD(r, WASM_IF(WASM_ONE, WASM_SEQ(WASM_LOAD_MEM(MachineType::Int32(), |
+ WASM_I32V_1(-3)), |
+ WASM_DROP))); |
+ uint32_t wasm_index_1 = r.function()->func_index; |
- WasmFunctionCompiler comp2(sigs.v_v(), &module, ArrayVector("call_mem_oob")); |
+ WasmFunctionCompiler& f2 = r.NewFunction<void>(); |
// Insert a NOP such that the position of the call is not one. |
- BUILD(comp2, WASM_NOP, WASM_CALL_FUNCTION0(wasm_index)); |
- uint32_t wasm_index_2 = comp2.CompileAndAdd(); |
+ BUILD(f2, WASM_NOP, WASM_CALL_FUNCTION0(wasm_index_1)); |
+ uint32_t wasm_index_2 = f2.function_index(); |
- Handle<JSFunction> js_wasm_wrapper = module.WrapCode(wasm_index_2); |
+ Handle<JSFunction> js_wasm_wrapper = r.module().WrapCode(wasm_index_2); |
Handle<JSFunction> js_trampoline = Handle<JSFunction>::cast( |
v8::Utils::OpenHandle(*v8::Local<v8::Function>::Cast( |
@@ -132,7 +129,7 @@ TEST(IllegalLoad) { |
// Line and column are 1-based, so add 1 for the expected wasm output. |
ExceptionInfo expected_exceptions[] = { |
- {"<WASM UNNAMED>", static_cast<int>(wasm_index) + 1, 8}, // -- |
+ {"<WASM UNNAMED>", static_cast<int>(wasm_index_1) + 1, 8}, // -- |
{"<WASM UNNAMED>", static_cast<int>(wasm_index_2) + 1, 3}, // -- |
{"callFn", 1, 24} // -- |
}; |