10namespace interpreter {
102 DCHECK(!site.has_referrer_jump() || site.is_bound());
126 int min_case,
int max_case, std::map<int, CaseClause*>&
covered_cases) {
129 for (
int j = min_case; j <= max_case; ++j) {
std::map< int, CaseClause * > covered_cases
FeedbackSlot AddJumpLoopSlot()
static constexpr int kMaxOsrUrgency
void IncrementBlockCounter(int coverage_array_slot)
BytecodeLabels break_labels_
void EmitJumpIfForInDone(BytecodeLabels *labels, Register index, Register cache_length)
void EmitJumpIfUndefined(BytecodeLabels *labels)
void EmitJumpIfTrue(BytecodeArrayBuilder::ToBooleanMode mode, BytecodeLabels *labels)
void EmitJumpIfFalse(BytecodeArrayBuilder::ToBooleanMode mode, BytecodeLabels *labels)
void EmitJump(BytecodeLabels *labels)
BlockCoverageBuilder * block_coverage_builder_
~BreakableControlFlowBuilder() override
BytecodeArrayBuilder & JumpIfForInDone(BytecodeLabel *label, Register index, Register cache_length)
BytecodeArrayBuilder & MarkTryEnd(int handler_id)
BytecodeArrayBuilder & JumpIfFalse(ToBooleanMode mode, BytecodeLabel *label)
BytecodeArrayBuilder & MarkTryBegin(int handler_id, Register context)
BytecodeArrayBuilder & Bind(BytecodeLabel *label)
BytecodeArrayBuilder & JumpIfUndefined(BytecodeLabel *label)
BytecodeArrayBuilder & SwitchOnSmiNoFeedback(BytecodeJumpTable *jump_table)
BytecodeArrayBuilder & JumpIfTrue(ToBooleanMode mode, BytecodeLabel *label)
BytecodeArrayBuilder & MarkHandler(int handler_id, HandlerTable::CatchPrediction will_catch)
BytecodeArrayBuilder & JumpLoop(BytecodeLoopHeader *loop_header, int loop_depth, int position, int feedback_slot)
BytecodeArrayBuilder & Jump(BytecodeLabel *label)
void Bind(BytecodeArrayBuilder *builder)
ZonePtrList< BytecodeLabels > then_labels_list_
void ElseAt(size_t index)
~ConditionalChainControlFlowBuilder() override
int block_coverage_else_slot_at(size_t index) const
ZonePtrList< BytecodeLabels > else_labels_list_
BlockCoverageBuilder * block_coverage_builder_
int block_coverage_then_slot_at(size_t index) const
void ThenAt(size_t index)
BytecodeLabels end_labels_
BytecodeLabels * then_labels_at(size_t index)
BytecodeLabels * else_labels_at(size_t index)
BytecodeLabels end_labels_
int block_coverage_then_slot_
~ConditionalControlFlowBuilder() override
BytecodeLabels * then_labels()
BlockCoverageBuilder * block_coverage_builder_
BytecodeLabels * else_labels()
BytecodeLabels then_labels_
int block_coverage_else_slot_
BytecodeLabels else_labels_
BytecodeArrayBuilder * builder() const
BytecodeLabels end_labels_
BytecodeLabels continue_labels_
void BindContinueTarget()
void JumpToHeader(int loop_depth, LoopBuilder *const parent_loop)
int block_coverage_body_slot_
FeedbackVectorSpec *const feedback_vector_spec_
BytecodeLoopHeader loop_header_
void BindCaseTargetForJumpTable(int case_value, CaseClause *clause)
void JumpToFallThroughIfFalse()
void BindDefault(CaseClause *clause)
void BindCaseTargetForCompareJump(int index, CaseClause *clause)
void JumpToCaseIfTrue(BytecodeArrayBuilder::ToBooleanMode mode, int index)
void BuildBlockCoverage(CaseClause *clause)
BytecodeJumpTable * jump_table_
BytecodeLabels fall_through_
void EmitJumpTableIfExists(int min_case, int max_case, std::map< int, CaseClause * > &covered_cases)
ZoneVector< BytecodeLabel > case_sites_
~SwitchBuilder() override
~TryCatchBuilder() override
HandlerTable::CatchPrediction catch_prediction_
BlockCoverageBuilder * block_coverage_builder_
TryCatchStatement * statement_
void BeginTry(Register context)
BlockCoverageBuilder * block_coverage_builder_
HandlerTable::CatchPrediction catch_prediction_
TryFinallyStatement * statement_
BytecodeLabels finalization_sites_
void BeginTry(Register context)
~TryFinallyBuilder() override
#define DCHECK(condition)
#define DCHECK_LT(v1, v2)