v8
V8 is Google’s open source high-performance JavaScript and WebAssembly engine, written in C++.
Loading...
Searching...
No Matches
compilation-environment-inl.h
Go to the documentation of this file.
1// Copyright 2024 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_WASM_COMPILATION_ENVIRONMENT_INL_H_
6#define V8_WASM_COMPILATION_ENVIRONMENT_INL_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
13// Include the non-inl header before the rest of the headers.
14
16
17namespace v8::internal::wasm {
18
20 const NativeModule* native_module) {
21 return CompilationEnv(
22 native_module->module(), native_module->enabled_features(),
23 native_module->fast_api_targets(), native_module->fast_api_signatures());
24}
25
29
30} // namespace v8::internal::wasm
31
32#endif // V8_WASM_COMPILATION_ENVIRONMENT_INL_H_
const WasmModule * module() const
std::atomic< Address > * fast_api_targets() const
std::atomic< const MachineSignature * > * fast_api_signatures() const
WasmEnabledFeatures enabled_features() const
static constexpr WasmEnabledFeatures All()
static CompilationEnv ForModule(const NativeModule *native_module)
constexpr CompilationEnv(const WasmModule *module, WasmEnabledFeatures enabled_features, std::atomic< Address > *fast_api_targets, std::atomic< const MachineSignature * > *fast_api_signatures)
static constexpr CompilationEnv NoModuleAllFeaturesForTesting()