v8
V8 is Google’s open source high-performance JavaScript and WebAssembly engine, written in C++.
Loading...
Searching...
No Matches
wasm-call-descriptors.h
Go to the documentation of this file.
1// Copyright 2022 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#ifndef V8_COMPILER_WASM_CALL_DESCRIPTORS_H_
6#define V8_COMPILER_WASM_CALL_DESCRIPTORS_H_
7
8#if !V8_ENABLE_WEBASSEMBLY
9#error This header should only be included if WebAssembly is enabled.
10#endif // !V8_ENABLE_WEBASSEMBLY
11
12#include <memory>
13
14#include "src/common/globals.h"
15
16namespace v8::internal {
17
18class AccountingAllocator;
19class Zone;
20
21namespace compiler {
22class CallDescriptor;
23
25 public:
26 explicit WasmCallDescriptors(AccountingAllocator* allocator);
27
29 if (needs_frame_state) {
31 }
33 }
34
35#if V8_TARGET_ARCH_32_BIT
37 const compiler::CallDescriptor* original);
38#else
43#endif // V8_TARGET_ARCH_32_BIT
44
45 private:
46 std::unique_ptr<Zone> zone_;
47
50
51#if V8_TARGET_ARCH_32_BIT
52 compiler::CallDescriptor* bigint_to_i32pair_descriptor_;
53 compiler::CallDescriptor* bigint_to_i32pair_descriptor_with_framestate_;
54#endif // V8_TARGET_ARCH_32_BIT
55};
56
57} // namespace compiler
58} // namespace v8::internal
59
60#endif // V8_COMPILER_WASM_CALL_DESCRIPTORS_H_
friend Zone
Definition asm-types.cc:195
compiler::CallDescriptor * bigint_to_i64_descriptor_with_framestate_
WasmCallDescriptors(AccountingAllocator *allocator)
V8_EXPORT_PRIVATE compiler::CallDescriptor * GetLoweredCallDescriptor(const compiler::CallDescriptor *original)
compiler::CallDescriptor * GetBigIntToI64Descriptor(bool needs_frame_state)
#define V8_EXPORT_PRIVATE
Definition macros.h:460