v8
V8 is Google’s open source high-performance JavaScript and WebAssembly engine, written in C++.
Loading...
Searching...
No Matches
wasm-interpreter.h File Reference
Include dependency graph for wasm-interpreter.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  v8::internal::wasm::InterpreterCode
 
struct  v8::internal::wasm::FrameState
 
class  v8::internal::wasm::WasmExecutionTimer
 
class  v8::internal::wasm::WasmInterpreterThreadMap
 
class  v8::internal::wasm::WasmInterpreterThread
 
struct  v8::internal::wasm::WasmInterpreterThread::TrapStatus
 
class  v8::internal::wasm::WasmInterpreterThread::Activation
 
class  v8::internal::wasm::WasmInterpreter
 
class  v8::internal::wasm::WasmInterpreter::CodeMap
 
struct  v8::internal::wasm::handler_traits< compact_handler >
 
struct  v8::internal::wasm::handler_traits< true >
 
struct  v8::internal::wasm::handler_traits< false >
 
struct  v8::internal::wasm::RegModeTransform
 
struct  v8::internal::wasm::BranchOnCastData
 
struct  v8::internal::wasm::WasmInstruction
 
union  v8::internal::wasm::WasmInstruction::Optional
 
struct  v8::internal::wasm::WasmInstruction::Optional::IndirectCall
 
struct  v8::internal::wasm::WasmInstruction::Optional::BrTable
 
struct  v8::internal::wasm::WasmInstruction::Optional::Block
 
struct  v8::internal::wasm::WasmInstruction::Optional::TableInit
 
struct  v8::internal::wasm::WasmInstruction::Optional::TableCopy
 
struct  v8::internal::wasm::WasmInstruction::Optional::SimdLaneLoad
 
struct  v8::internal::wasm::WasmInstruction::Optional::GC_FieldImmediate
 
struct  v8::internal::wasm::WasmInstruction::Optional::GC_MemoryImmediate
 
struct  v8::internal::wasm::WasmInstruction::Optional::GC_HeapTypeImmediate
 
struct  v8::internal::wasm::WasmInstruction::Optional::GC_ArrayNewFixed
 
struct  v8::internal::wasm::WasmInstruction::Optional::GC_ArrayNewOrInitData
 
struct  v8::internal::wasm::WasmInstruction::Optional::GC_ArrayCopy
 
struct  v8::internal::wasm::Slot
 
class  v8::internal::wasm::WasmEHData
 
struct  v8::internal::wasm::WasmEHData::CatchHandler
 
struct  v8::internal::wasm::WasmEHData::TryBlock
 
struct  v8::internal::wasm::WasmEHData::CatchBlock
 
struct  v8::internal::wasm::WasmEHData::ExceptionPayloadSlotOffsets
 
class  v8::internal::wasm::WasmEHDataGenerator
 
class  v8::internal::wasm::WasmBytecode
 
class  v8::internal::wasm::WasmBytecodeGenerator
 
struct  v8::internal::wasm::WasmBytecodeGenerator::BlockData
 
struct  v8::internal::wasm::WasmBytecodeGenerator::Simd128Hash
 
class  v8::internal::wasm::WasmBytecodeGenerator::RollbackStack
 
struct  v8::internal::wasm::WasmBytecodeGenerator::RollbackStack::Entry
 
class  v8::internal::wasm::ClearThreadInWasmScope
 

Namespaces

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

Macros

#define VECTORCALL
 
#define INSTRUCTION_HANDLER_FUNC    __attribute__((noinline)) static DISABLE_CFI_ICALL void VECTORCALL
 
#define MUSTTAIL
 
#define DEFINE_INSTR_HANDLER(name)
 

Typedefs

using v8::internal::wasm::pc_t = size_t
 
using v8::internal::wasm::CodeOffset = size_t
 
using v8::internal::wasm::WasmRef = DirectHandle<Object>
 
typedef uint32_t * v8::internal::wasm::sp
 
typedef uint32_t WasmInterpreterRuntimev8::internal::wasm::wasm_runtime
 
typedef uint32_t WasmInterpreterRuntime int64_t v8::internal::wasm::r0
 
typedef uint32_t WasmInterpreterRuntime int64_t double v8::internal::wasm::fp0
 

Enumerations

enum  v8::internal::wasm::OperatorMode { v8::internal::wasm::kR2R = 0 , v8::internal::wasm::kR2S , v8::internal::wasm::kS2R , v8::internal::wasm::kS2S }
 
enum class  v8::internal::wasm::RegMode {
  v8::internal::wasm::kNoReg , v8::internal::wasm::kI32Reg , v8::internal::wasm::kI64Reg , v8::internal::wasm::kF32Reg ,
  v8::internal::wasm::kF64Reg , v8::internal::wasm::kAnyReg
}
 
enum  v8::internal::wasm::ExternalCallResult { v8::internal::wasm::EXTERNAL_RETURNED , v8::internal::wasm::EXTERNAL_EXCEPTION }
 
enum  v8::internal::wasm::InstructionHandler : uint16_t { v8::internal::wasm::kInstructionCount }
 
enum  v8::internal::wasm::InstrHandlerSize { v8::internal::wasm::Large = 0 , v8::internal::wasm::Small = 1 }
 

Functions

typedef v8::internal::wasm::void (VECTORCALL PWasmOp)(const uint8_t *code
 
RegMode v8::internal::wasm::GetRegMode (ValueKind kind)
 
template<typename T >
INSTRUCTION_HANDLER_FUNC v8::internal::wasm::trace_PushSlot (const uint8_t *code, uint32_t *sp, WasmInterpreterRuntime *wasm_runtime, int64_t r0, double fp0)
 
template<typename T >
static ValueType v8::internal::wasm::value_type ()
 
template<>
ValueType v8::internal::wasm::value_type< int32_t > ()
 
template<>
ValueType v8::internal::wasm::value_type< uint32_t > ()
 
template<>
ValueType v8::internal::wasm::value_type< int64_t > ()
 
template<>
ValueType v8::internal::wasm::value_type< uint64_t > ()
 
template<>
ValueType v8::internal::wasm::value_type< float > ()
 
template<>
ValueType v8::internal::wasm::value_type< double > ()
 
template<>
ValueType v8::internal::wasm::value_type< Simd128 > ()
 
template<>
ValueType v8::internal::wasm::value_type< WasmRef > ()
 
InstructionHandler v8::internal::wasm::ReadFnId (const uint8_t *&code)
 

Variables

static const size_t v8::internal::wasm::kOperatorModeCount = 4
 
static const RegModeTransform v8::internal::wasm::kRegModes [256]
 
static const size_t v8::internal::wasm::kSlotSize = sizeof(int32_t)
 
static const ptrdiff_t v8::internal::wasm::kCodeOffsetSize = sizeof(int32_t)
 
constexpr uint32_t v8::internal::wasm::kBranchOnCastDataTargetTypeBitSize = 30
 
static constexpr uint32_t v8::internal::wasm::kInstructionTableSize = 4096
 
static constexpr uint32_t v8::internal::wasm::kInstructionTableMask = kInstructionTableSize - 1
 

Macro Definition Documentation

◆ DEFINE_INSTR_HANDLER

#define DEFINE_INSTR_HANDLER ( name)
Value:
k_##name,
const char * name
Definition builtins.cc:39

Definition at line 1218 of file wasm-interpreter.h.

◆ INSTRUCTION_HANDLER_FUNC

#define INSTRUCTION_HANDLER_FUNC    __attribute__((noinline)) static DISABLE_CFI_ICALL void VECTORCALL

Definition at line 47 of file wasm-interpreter.h.

◆ MUSTTAIL

#define MUSTTAIL

Definition at line 678 of file wasm-interpreter.h.

◆ VECTORCALL

#define VECTORCALL

Definition at line 40 of file wasm-interpreter.h.