16#define RUN_MAYBE_ABORT(phase, ...) \
17 if (V8_UNLIKELY(!Run<phase>(__VA_ARGS__))) return {};
29 std::unique_ptr<Zone> verifier_zone;
37 verifier_zone.get(), config,
data()->sequence(),
data()->frame());
54 if (verifier !=
nullptr) {
85 if (verifier !=
nullptr) {
95 if (
v8_flags.turbo_move_optimization) {
101 if (verifier !=
nullptr) {
133 if (jump_optimization_info && jump_optimization_info->
is_optimizable()) {
159 if (
v8_flags.turboshaft_enable_debug_features) {
BasicBlockProfilerData * profiler_data() const
void ValidateDeferredBlockExitPaths() const
void ValidateEdgeSplitForm() const
bool HasFPVirtualRegisters() const
bool HasSimd128VirtualRegisters() const
void ValidateDeferredBlockEntryPaths() const
bool ExistsUseWithoutDefinition()
bool RangesDefinedInDeferredStayInDeferred()
void VerifyAssignment(const char *caller_info)
AccountingAllocator * allocator() const
void InitializeCodegenComponent(std::shared_ptr< OsrHelper > osr_helper, JumpOptimizationInfo *jump_optimization_info=nullptr)
void InitializeRegisterComponent(const RegisterConfiguration *config, CallDescriptor *call_descriptor)
RegisterAllocationData * register_allocation_data() const
InstructionSequence * sequence() const
void ClearCodegenComponent()
void ClearRegisterComponent()
OptimizedCompilationInfo * info() const
Isolate * isolate() const
bool MayHaveUnverifiableGraph() const
PipelineData * data() const
bool SelectInstructions(Linkage *linkage)
V8_WARN_UNUSED_RESULT bool PrepareForInstructionSelection(const ProfileDataFromFile *profile=nullptr)
MaybeHandle< Code > GenerateCode(CallDescriptor *call_descriptor)
V8_WARN_UNUSED_RESULT bool AssembleCode(Linkage *linkage)
OptimizedCompilationInfo * info()
void TraceSequence(const char *phase_name)
V8_WARN_UNUSED_RESULT bool AllocateRegisters(CallDescriptor *call_descriptor)
V8_WARN_UNUSED_RESULT auto Run(Args &&... args)
constexpr char kRegisterAllocatorVerifierZoneName[]
constexpr AliasingKind kFPAliasing
V8_EXPORT_PRIVATE FlagValues v8_flags
#define RUN_MAYBE_ABORT(phase,...)
#define DCHECK_NOT_NULL(val)
bool is_optimizable() const
void Run(PipelineData *data, Zone *temp_zone)