Index: src/runtime/runtime-wasm.cc |
diff --git a/src/runtime/runtime-wasm.cc b/src/runtime/runtime-wasm.cc |
index 02073b77a090cdf1bc382d7d2b1c32f2f297f8cb..6f10db23ad9fb2bcb4d5a28b1e5d509563658562 100644 |
--- a/src/runtime/runtime-wasm.cc |
+++ b/src/runtime/runtime-wasm.cc |
@@ -118,5 +118,18 @@ RUNTIME_FUNCTION(Runtime_WasmThrowTypeError) { |
THROW_NEW_ERROR_RETURN_FAILURE( |
isolate, NewTypeError(MessageTemplate::kWasmTrapTypeError)); |
} |
+ |
+RUNTIME_FUNCTION(Runtime_WasmThrow) { |
+ HandleScope scope(isolate); |
+ DCHECK_EQ(2, args.length()); |
+ Object* upper = args[1]; |
+ Object* lower = args[0]; |
Michael Starzinger
2016/09/15 12:33:36
nit: Please use CONVERT_SMI_ARG_CHECKED here.
John
2016/09/15 12:42:05
Done.
|
+ |
+ const int32_t thrown_value = |
+ (Smi::cast(upper)->value() << 16) | Smi::cast(lower)->value(); |
+ |
+ return isolate->Throw(*isolate->factory()->NewNumberFromInt(thrown_value)); |
+} |
+ |
} // namespace internal |
} // namespace v8 |