5#ifndef V8_WASM_FUNCTION_COMPILER_H_
6#define V8_WASM_FUNCTION_COMPILER_H_
8#if !V8_ENABLE_WEBASSEMBLY
9#error This header should only be included if WebAssembly is enabled.
28class TurbofanCompilationJob;
44 imports_.push_back(std::make_pair(func_index, status));
59 std::vector<std::pair<uint32_t, WellKnownImport>>
imports_;
69#if V8_ENABLE_DRUMBRAKE
101 tier_ == ExecutionTier::kLiftoff);
159 std::unique_ptr<OptimizedCompilationJob>
job_;
164#if (V8_TARGET_ARCH_X64 || V8_TARGET_ARCH_ARM64 || V8_TARGET_ARCH_IA32 || \
165 V8_TARGET_ARCH_ARM || V8_TARGET_ARCH_S390X || V8_TARGET_ARCH_PPC64 || \
166 V8_TARGET_ARCH_LOONG64)
void RecordAssumption(uint32_t func_index, WellKnownImport status)
const std::vector< std::pair< uint32_t, WellKnownImport > > & import_statuses()
AssumptionsJournal()=default
std::vector< std::pair< uint32_t, WellKnownImport > > imports_
~JSToWasmWrapperCompilationUnit()
const CanonicalSig * sig_
JSToWasmWrapperCompilationUnit(JSToWasmWrapperCompilationUnit &&) V8_NOEXCEPT=default
std::unique_ptr< OptimizedCompilationJob > job_
const CanonicalSig * sig() const
CanonicalTypeIndex sig_index() const
CanonicalTypeIndex sig_index_
ExecutionTier tier() const
WasmCompilationUnit(int index, ExecutionTier tier, ForDebugging for_debugging)
ForDebugging for_debugging() const
ForDebugging for_debugging_
const ForDebugging for_debugging_
const CompilationTier tier_
constexpr int kAnonymousFuncIndex
bool is_asmjs_module(const WasmModule *module)
bool IsJSCompatibleSignature(const CanonicalSig *sig)
bool CanUseGenericJsToWasmWrapper(const WasmModule *module, const CanonicalSig *sig)
kWasmInternalFunctionIndirectPointerTag kProtectedInstanceDataOffset sig
constexpr int kSystemPointerSize
V8_EXPORT_PRIVATE FlagValues v8_flags
wasm::WasmFunction WasmFunction
#define DCHECK_IMPLIES(v1, v2)
#define ASSERT_TRIVIALLY_COPYABLE(T)
#define V8_EXPORT_PRIVATE
base::OwnedVector< uint8_t > source_positions
base::OwnedVector< uint8_t > protected_instructions_data
std::unique_ptr< AssumptionsJournal > assumptions
ForDebugging for_debugging
MOVE_ONLY_WITH_DEFAULT_CONSTRUCTORS(WasmCompilationResult)
uint32_t tagged_parameter_slots
std::unique_ptr< LiftoffFrameDescriptionForDeopt > liftoff_frame_descriptions
bool frame_has_feedback_slot
base::OwnedVector< uint8_t > inlining_positions
ExecutionTier result_tier
std::unique_ptr< AssemblerBuffer > instr_buffer
uint32_t frame_slot_count
base::OwnedVector< uint8_t > deopt_data