Home | History | Annotate | Download | only in src

Lines Matching defs:HBasicBlock

69 HBasicBlock::HBasicBlock(HGraph* graph)
94 Isolate* HBasicBlock::isolate() const {
99 void HBasicBlock::MarkUnreachable() {
104 void HBasicBlock::AttachLoopInformation() {
110 void HBasicBlock::DetachLoopInformation() {
116 void HBasicBlock::AddPhi(HPhi* phi) {
123 void HBasicBlock::RemovePhi(HPhi* phi) {
132 void HBasicBlock::AddInstruction(HInstruction* instr,
158 HPhi* HBasicBlock::AddNewPhi(int merged_index) {
168 HSimulate* HBasicBlock::CreateSimulate(BailoutId ast_id,
202 void HBasicBlock::Finish(HControlInstruction* end, HSourcePosition position) {
212 void HBasicBlock::Goto(HBasicBlock* block,
234 void HBasicBlock::AddLeaveInlined(HValue* return_value,
237 HBasicBlock* target = state->function_return();
254 void HBasicBlock::SetInitialEnvironment(HEnvironment* env) {
261 void HBasicBlock::UpdateEnvironment(HEnvironment* env) {
267 void HBasicBlock::SetJoinId(BailoutId ast_id) {
271 HBasicBlock* predecessor = predecessors_[i];
284 bool HBasicBlock::Dominates(HBasicBlock* other) const {
285 HBasicBlock* current = other->dominator();
294 bool HBasicBlock::EqualToOrDominates(HBasicBlock* other) const {
300 int HBasicBlock::LoopNestingDepth() const {
301 const HBasicBlock* current = this;
311 void HBasicBlock::PostProcessLoopHeader(IterationStatement* stmt) {
329 void HBasicBlock::MarkSuccEdgeUnreachable(int succ) {
331 HBasicBlock* succ_block = end()->SuccessorAt(succ);
338 void HBasicBlock::RegisterPredecessor(HBasicBlock* pred) {
362 void HBasicBlock::AddDominatedBlock(HBasicBlock* block) {
375 void HBasicBlock::AssignCommonDominator(HBasicBlock* other) {
380 HBasicBlock* first = dominator_;
381 HBasicBlock* second = other;
402 void HBasicBlock::AssignLoopSuccessorDominators() {
412 HBasicBlock* last = loop_information()->GetLastBackEdge();
417 HBasicBlock* dominator_candidate = graph_->blocks()->at(j);
420 HBasicBlock* predecessor = it.Current();
436 HBasicBlock* parent_loop_header = dominator_candidate->parent_loop_header();
443 HBasicBlock* successor = it.Current();
458 int HBasicBlock::PredecessorIndexOf(HBasicBlock* predecessor) const {
468 void HBasicBlock::Verify() {
483 void HLoopInformation::RegisterBackEdge(HBasicBlock* block) {
489 HBasicBlock* HLoopInformation::GetLastBackEdge() const {
491 HBasicBlock* result = NULL;
493 HBasicBlock* cur = back_edges_[i];
503 void HLoopInformation::AddBlock(HBasicBlock* block) {
527 ReachabilityAnalyzer(HBasicBlock* entry_block,
529 HBasicBlock* dont_visit)
542 void PushBlock(HBasicBlock* block) {
561 ZoneList<HBasicBlock*> stack_;
563 HBasicBlock* dont_visit_;
572 HBasicBlock* block = blocks_.at(i);
588 HBasicBlock* first = block->end()->FirstSuccessor();
589 HBasicBlock* second = block->end()->SecondSuccessor();
612 HBasicBlock* predecessor = block->predecessors()->at(k);
633 HBasicBlock* block = blocks_.at(i);
814 HBasicBlock* split_edge = builder()->CreateBasicBlock(env->Copy());
869 HBasicBlock* true_block = NULL;
870 HBasicBlock* false_block = NULL;
885 HBasicBlock* true_block = NULL;
886 HBasicBlock* false_block = NULL;
951 HBasicBlock* block = builder()->current_block();
983 void HGraphBuilder::IfBuilder::Finish(HBasicBlock** then_continuation,
984 HBasicBlock** else_continuation) {
1006 HBasicBlock* merge_block =
1161 HBasicBlock* last_block = builder_->current_block();
1240 HBasicBlock* HGraphBuilder::CreateBasicBlock(HEnvironment* env) {
1241 HBasicBlock* b = graph()->CreateBasicBlock();
1247 HBasicBlock* HGraphBuilder::CreateLoopHeaderBlock() {
1248 HBasicBlock* header = graph()->CreateBasicBlock();
3341 HBasicBlock* HOptimizedGraphBuilder::CreateJoin(HBasicBlock* first,
3342 HBasicBlock* second,
3349 HBasicBlock* join_block = graph()->CreateBasicBlock();
3358 HBasicBlock* HOptimizedGraphBuilder::JoinContinue(IterationStatement* statement,
3359 HBasicBlock* exit_block,
3360 HBasicBlock* continue_block) {
3370 HBasicBlock* HOptimizedGraphBuilder::CreateLoop(IterationStatement* statement,
3371 HBasicBlock* loop_entry,
3372 HBasicBlock* body_exit,
3373 HBasicBlock* loop_successor,
3374 HBasicBlock* break_block) {
3387 HBasicBlock* HOptimizedGraphBuilder::BuildLoopEntry() {
3388 HBasicBlock* loop_entry = CreateLoopHeaderBlock();
3395 HBasicBlock* HOptimizedGraphBuilder::BuildLoopEntry(
3397 HBasicBlock* loop_entry = osr()->HasOsrEntryAt(statement)
3404 void HBasicBlock::FinishExit(HControlInstruction* instruction,
3411 OStream& operator<<(OStream& os, const HBasicBlock& b) {
3452 HBasicBlock* HGraph::CreateBasicBlock() {
3453 HBasicBlock* result = new(zone()) HBasicBlock(this);
3590 HBasicBlock* block() { return block_; }
3592 HBasicBlock* loop_header() { return loop_header_; }
3595 HBasicBlock* block) {
3601 ZoneList<HBasicBlock*>* order) {
3626 HBasicBlock* block,
3627 HBasicBlock* loop_header) {
3658 HBasicBlock* block,
3660 HBasicBlock* loop_header) {
3670 HBasicBlock* block,
3672 HBasicBlock* loop_header) {
3689 void ClosePostorder(ZoneList<HBasicBlock*>* order, Zone* zone) {
3701 ZoneList<HBasicBlock*>* order) {
3727 ZoneList<HBasicBlock*>* order) {
3743 ZoneList<HBasicBlock*>* order) {
3744 HBasicBlock* next_block;
3788 HBasicBlock* AdvanceSuccessors() {
3790 HBasicBlock* result = successor_iterator.Current();
3803 HBasicBlock* AdvanceLoopMembers() {
3805 HBasicBlock* result = loop_->blocks()->at(loop_index);
3817 HBasicBlock* block_;
3818 HBasicBlock* loop_header_;
3851 HBasicBlock* bi = blocks_[i];
3852 HBasicBlock* bj = blocks_[j];
3864 HBasicBlock* block = blocks_[i];
3940 HBasicBlock* if_true = owner->graph()->CreateBasicBlock();
3941 HBasicBlock* if_false = owner->graph()->CreateBasicBlock();
4051 HBasicBlock* empty_true = owner()->graph()->CreateBasicBlock();
4052 HBasicBlock* empty_false = owner()->graph()->CreateBasicBlock();
4056 HBasicBlock* join = owner()->CreateJoin(empty_true, empty_false, ast_id);
4063 HBasicBlock* true_branch = NULL;
4064 HBasicBlock* false_branch = NULL;
4071 HBasicBlock* join = owner()->CreateJoin(true_branch, false_branch, ast_id);
4095 HBasicBlock* materialize_false = owner()->graph()->CreateBasicBlock();
4096 HBasicBlock* materialize_true = owner()->graph()->CreateBasicBlock();
4104 HBasicBlock* join =
4112 HBasicBlock* materialize_true = NULL;
4113 HBasicBlock* materialize_false = NULL;
4126 HBasicBlock* join =
4150 HBasicBlock* empty_true = owner()->graph()->CreateBasicBlock();
4151 HBasicBlock* empty_false = owner()->graph()->CreateBasicBlock();
4163 HBasicBlock* true_branch = NULL;
4164 HBasicBlock* false_branch = NULL;
4239 HBasicBlock* true_block,
4240 HBasicBlock* false_block) {
4286 HBasicBlock* body_entry = CreateBasicBlock(initial_env);
4423 HBasicBlock* block = blocks()->at(block_index);
4577 HBasicBlock* break_block = break_info.break_block();
4613 HBasicBlock* cond_true = graph()->CreateBasicBlock();
4614 HBasicBlock* cond_false = graph()->CreateBasicBlock();
4635 HBasicBlock* join = CreateJoin(cond_true, cond_false, stmt->IfId());
4641 HBasicBlock* HOptimizedGraphBuilder::BreakAndContinueScope::Get(
4659 HBasicBlock* block = NULL;
4690 HBasicBlock* continue_block = break_scope()->Get(
4722 HBasicBlock* break_block = break_scope()->Get(
4777 HBasicBlock* if_spec_object = graph()->CreateBasicBlock();
4778 HBasicBlock* not_spec_object = graph()->CreateBasicBlock();
4838 ZoneList<HBasicBlock*> body_blocks(clause_count, zone());
4868 HBasicBlock* next_test_block = graph()->CreateBasicBlock();
4869 HBasicBlock* body_block = graph()->CreateBasicBlock();
4883 HBasicBlock* last_block = current_block();
4888 HBasicBlock* fall_through_block = NULL;
4897 HBasicBlock* normal_block = NULL;
4909 HBasicBlock* join = CreateJoin(fall_through_block,
4922 HBasicBlock* break_block = break_info.break_block();
4937 HBasicBlock* loop_entry) {
4952 HBasicBlock* loop_entry = BuildLoopEntry(stmt);
4959 HBasicBlock* body_exit =
4961 HBasicBlock* loop_successor = NULL;
4986 HBasicBlock* loop_exit = CreateLoop(stmt,
5000 HBasicBlock* loop_entry = BuildLoopEntry(stmt);
5003 HBasicBlock* loop_successor = NULL;
5005 HBasicBlock* body_entry = graph()->CreateBasicBlock();
5024 HBasicBlock* body_exit =
5026 HBasicBlock* loop_exit = CreateLoop(stmt,
5043 HBasicBlock* loop_entry = BuildLoopEntry(stmt);
5045 HBasicBlock* loop_successor = NULL;
5047 HBasicBlock* body_entry = graph()->CreateBasicBlock();
5066 HBasicBlock* body_exit =
5075 HBasicBlock* loop_exit = CreateLoop(stmt,
5127 HBasicBlock* loop_entry = BuildLoopEntry(stmt);
5138 HBasicBlock* loop_body = graph()->CreateBasicBlock();
5139 HBasicBlock* loop_successor = graph()->CreateBasicBlock();
5169 HBasicBlock* body_exit =
5180 HBasicBlock* loop_exit = CreateLoop(stmt,
5266 HBasicBlock* cond_true = graph()->CreateBasicBlock();
5267 HBasicBlock* cond_false = graph()->CreateBasicBlock();
5291 HBasicBlock* join = CreateJoin(cond_true, cond_false, expr->id());
6261 HBasicBlock* join = NULL;
6262 HBasicBlock* number_block = NULL;
6303 HBasicBlock* empty_smi_block = graph()->CreateBasicBlock();
6304 HBasicBlock* not_smi_block = graph()->CreateBasicBlock();
6316 HBasicBlock* if_true = graph()->CreateBasicBlock();
6317 HBasicBlock* if_false = graph()->CreateBasicBlock();
7074 HBasicBlock* join = graph()->CreateBasicBlock();
7080 HBasicBlock* this_map = graph()->CreateBasicBlock();
7081 HBasicBlock* other_map = graph()->CreateBasicBlock();
7550 HBasicBlock* number_block = NULL;
7551 HBasicBlock* join = NULL;
7571 HBasicBlock* empty_smi_block = graph()->CreateBasicBlock();
7572 HBasicBlock* not_smi_block = graph()->CreateBasicBlock();
7583 HBasicBlock* if_true = graph()->CreateBasicBlock();
7584 HBasicBlock* if_false = graph()->CreateBasicBlock();
7997 HBasicBlock* if_true = inlined_test_context()->if_true();
7998 HBasicBlock* if_false = inlined_test_context()->if_false();
8011 HBasicBlock* true_target = TestContext::cast(ast_context())->if_true();
8017 HBasicBlock* false_target = TestContext::cast(ast_context())->if_false();
9898 HBasicBlock* materialize_false = graph()->CreateBasicBlock();
9899 HBasicBlock* materialize_true = graph()->CreateBasicBlock();
9920 HBasicBlock* join =
10525 HBasicBlock* eval_right = graph()->CreateBasicBlock();
10563 HBasicBlock* empty_block = graph()->CreateBasicBlock();
10564 HBasicBlock* eval_right = graph()->CreateBasicBlock();
10575 HBasicBlock* join_block =
10585 HBasicBlock* empty_block = graph()->CreateBasicBlock();
10586 HBasicBlock* right_block = graph()->CreateBasicBlock();
10614 HBasicBlock* join_block =
12012 void HEnvironment::AddIncomingEdge(HBasicBlock* block, HEnvironment* other) {
12093 HEnvironment* HEnvironment::CopyAsLoopHeader(HBasicBlock* loop_header) const {
12232 const ZoneList<HBasicBlock*>* blocks = graph->blocks();
12234 HBasicBlock* current = blocks->at(i);