Line data Source code
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-gen.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 93 : TF_BUILTIN(WasmStackGuard, CodeStubAssembler) {
16 31 : TailCallRuntime(Runtime::kWasmStackGuard, NoContextConstant());
17 31 : }
18 :
19 : #define DECLARE_ENUM(name) \
20 : TF_BUILTIN(ThrowWasm##name, CodeStubAssembler) { \
21 : int message_id = wasm::WasmOpcodes::TrapReasonToMessageId(wasm::k##name); \
22 : TailCallRuntime(Runtime::kThrowWasmErrorFromTrapIf, NoContextConstant(), \
23 : SmiConstant(message_id)); \
24 : }
25 992 : FOREACH_WASM_TRAPREASON(DECLARE_ENUM)
26 : #undef DECLARE_ENUM
27 :
28 : } // namespace internal
29 : } // namespace v8
|