5#ifndef V8_WASM_WASM_DEOPT_DATA_H_
6#define V8_WASM_WASM_DEOPT_DATA_H_
7#if !V8_ENABLE_WEBASSEMBLY
8#error This header should only be included if WebAssembly is enabled.
17class DeoptimizationLiteral;
50 if (!deopt_data.
empty()) {
51 static_assert(std::is_trivially_copy_assignable_v<WasmDeoptData>);
52 DCHECK_GE(deopt_data_.size(), sizeof(WasmDeoptData));
53 std::memcpy(&base_data_, deopt_data_.begin(), sizeof(base_data_));
89 int deopt_exit_start_offset,
int eager_deopt_count,
100#ifdef V8_ENABLE_CET_SHADOW_STACK
101 uint32_t adapt_shadow_stack_pc_offset = 0;
constexpr bool empty() const
constexpr T * begin() const
static constexpr BytecodeOffset None()
static base::OwnedVector< uint8_t > Serialize(int deopt_exit_start_offset, int eager_deopt_count, base::Vector< const uint8_t > translation_array, base::Vector< wasm::WasmDeoptEntry > deopt_entries, const ZoneDeque< DeoptimizationLiteral > &deopt_literals)
WasmDeoptView(base::Vector< const uint8_t > deopt_data)
std::vector< DeoptimizationLiteral > BuildDeoptimizationLiteralArray()
WasmDeoptEntry GetDeoptEntry(uint32_t deopt_index) const
base::Vector< const uint8_t > GetTranslationsArray() const
base::Vector< const uint8_t > deopt_data_
const WasmDeoptData & GetDeoptData() const
bool HasDeoptData() const
static V ReadUnalignedValue(Address p)
constexpr Register no_reg
#define DCHECK(condition)
uint32_t wire_bytes_offset
Register trusted_instance
std::vector< LiftoffVarState > var_state
int deopt_exit_start_offset
uint32_t deopt_literals_size
uint32_t translation_array_size
BytecodeOffset bytecode_offset