v8
V8 is Google’s open source high-performance JavaScript and WebAssembly engine, written in C++.
Loading...
Searching...
No Matches
wasm-features.h File Reference
#include <iosfwd>
#include <string>
#include "src/base/small-vector.h"
#include "src/common/globals.h"
#include "src/wasm/wasm-feature-flags.h"
Include dependency graph for wasm-features.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  v8::internal::wasm::WasmEnabledFeatures
 
class  v8::internal::wasm::WasmDetectedFeatures
 
class  v8::internal::wasm::CompileTimeImports
 

Namespaces

namespace  v8
 
namespace  v8::internal
 
namespace  v8::internal::wasm
 

Macros

#define FOREACH_WASM_NON_FLAG_FEATURE(V)
 
#define FOREACH_WASM_FEATURE(V)
 
#define DECL_FEATURE_ENUM(feat, ...)
 
#define DECL_FEATURE_ENUM(feat, ...)
 
#define DECL_FEATURE_GETTER(feat, ...)
 
#define LIST_FEATURE(feat, ...)
 
#define DECL_FEATURE_GETTER(feat, ...)
 
#define NAME(feat, ...)
 
#define NAME(feat, ...)
 

Typedefs

using v8::internal::wasm::CompileTimeImportFlags = base::EnumSet<CompileTimeImport, int>
 

Enumerations

enum class  v8::internal::wasm::WasmEnabledFeature { v8::internal::wasm::DECL_FEATURE_ENUM }
 
enum class  v8::internal::wasm::WasmDetectedFeature { v8::internal::wasm::DECL_FEATURE_ENUM }
 
enum class  v8::internal::wasm::CompileTimeImport {
  v8::internal::wasm::kJsString , v8::internal::wasm::kStringConstants , v8::internal::wasm::kTextEncoder , v8::internal::wasm::kTextDecoder ,
  v8::internal::wasm::kDisableDenormalFloats
}
 

Functions

constexpr const char * v8::internal::wasm::name (WasmEnabledFeature feature)
 
std::ostream & v8::internal::wasm::operator<< (std::ostream &os, WasmEnabledFeature feature)
 
constexpr const char * v8::internal::wasm::name (WasmDetectedFeature feature)
 
std::ostream & v8::internal::wasm::operator<< (std::ostream &os, WasmDetectedFeature feature)
 
std::ostream & v8::internal::wasm::operator<< (std::ostream &os, CompileTimeImport imp)
 

Macro Definition Documentation

◆ DECL_FEATURE_ENUM [1/2]

#define DECL_FEATURE_ENUM ( feat,
... )
Value:
feat,

Definition at line 42 of file wasm-features.h.

◆ DECL_FEATURE_ENUM [2/2]

#define DECL_FEATURE_ENUM ( feat,
... )
Value:
feat,

Definition at line 42 of file wasm-features.h.

◆ DECL_FEATURE_GETTER [1/2]

#define DECL_FEATURE_GETTER ( feat,
... )
Value:
constexpr bool has_##feat() const { \
return contains(WasmEnabledFeature::feat); \
}

Definition at line 63 of file wasm-features.h.

◆ DECL_FEATURE_GETTER [2/2]

#define DECL_FEATURE_GETTER ( feat,
... )
Value:
constexpr void add_##feat() { Add(WasmDetectedFeature::feat); } \
constexpr bool has_##feat() const { \
return contains(WasmDetectedFeature::feat); \
}

Definition at line 63 of file wasm-features.h.

◆ FOREACH_WASM_FEATURE

#define FOREACH_WASM_FEATURE ( V)
Value:
FOREACH_WASM_NON_FLAG_FEATURE(V)
#define V(Name)
#define FOREACH_WASM_FEATURE_FLAG(V)

Definition at line 35 of file wasm-features.h.

◆ FOREACH_WASM_NON_FLAG_FEATURE

#define FOREACH_WASM_NON_FLAG_FEATURE ( V)
Value:
V(shared_memory) \
V(reftypes) \
V(simd) \
V(threads) \
V(return_call) \
V(extended_const) \
V(relaxed_simd) \
V(gc) \
V(typed_funcref) \
V(multi_memory) \
V(memory64)

Definition at line 21 of file wasm-features.h.

◆ LIST_FEATURE

#define LIST_FEATURE ( feat,
... )
Value:
WasmEnabledFeature::feat,

◆ NAME [1/2]

#define NAME ( feat,
... )
Value:
case WasmEnabledFeature::feat: \
return #feat;

◆ NAME [2/2]

#define NAME ( feat,
... )
Value:
case WasmDetectedFeature::feat: \
return #feat;