OLD | NEW |
| (Empty) |
1 // Copyright 2017 the V8 project authors. All rights reserved. | |
2 // Use of this source code is governed by a BSD-style license that can be | |
3 // found in the LICENSE file. | |
4 | |
5 #include "src/builtins/builtins-utils.h" | |
6 #include "src/code-stub-assembler.h" | |
7 #include "src/objects-inl.h" | |
8 #include "src/wasm/wasm-opcodes.h" | |
9 | |
10 namespace v8 { | |
11 namespace internal { | |
12 | |
13 typedef compiler::Node Node; | |
14 | |
15 TF_BUILTIN(WasmStackGuard, CodeStubAssembler) { | |
16 Node* context = SmiConstant(Smi::kZero); | |
17 TailCallRuntime(Runtime::kWasmStackGuard, context); | |
18 } | |
19 | |
20 #define DECLARE_ENUM(name) \ | |
21 TF_BUILTIN(ThrowWasm##name, CodeStubAssembler) { \ | |
22 int message_id = wasm::WasmOpcodes::TrapReasonToMessageId(wasm::k##name); \ | |
23 TailCallRuntime(Runtime::kThrowWasmErrorFromTrapIf, \ | |
24 SmiConstant(Smi::kZero), SmiConstant(message_id)); \ | |
25 } | |
26 FOREACH_WASM_TRAPREASON(DECLARE_ENUM) | |
27 #undef DECLARE_ENUM | |
28 | |
29 } // namespace internal | |
30 } // namespace v8 | |
OLD | NEW |