#include <hydrogen-mark-unreachable.h>
Definition at line 14 of file hydrogen-mark-unreachable.h.
◆ HMarkUnreachableBlocksPhase()
v8::internal::HMarkUnreachableBlocksPhase::HMarkUnreachableBlocksPhase |
( |
HGraph * |
graph | ) |
|
|
inlineexplicit |
◆ DISALLOW_COPY_AND_ASSIGN()
◆ MarkUnreachableBlocks()
void v8::internal::HMarkUnreachableBlocksPhase::MarkUnreachableBlocks |
( |
| ) |
|
|
private |
Definition at line 11 of file hydrogen-mark-unreachable.cc.
15 const ZoneList<HBasicBlock*>* blocks =
graph()->blocks();
18 for (
int i = 0;
i < blocks->length();
i++) {
19 HBasicBlock* block = blocks->at(
i);
20 if (!block->IsReachable())
continue;
21 bool is_reachable = blocks->at(0) == block;
22 for (HPredecessorIterator it(block); !it.Done(); it.Advance()) {
23 HBasicBlock* predecessor = it.Current();
28 if (predecessor->IsReachable() && !predecessor->IsDeoptimizing()) {
29 HBasicBlock* pred_succ;
30 bool known_pred_succ =
31 predecessor->end()->KnownSuccessorBlock(&pred_succ);
32 if (!known_pred_succ || pred_succ == block) {
37 if (block->is_osr_entry()) {
42 block->MarkUnreachable();
References v8::internal::List< T, AllocationPolicy >::at(), and v8::internal::HPhase::graph().
Referenced by Run().
◆ Run()
void v8::internal::HMarkUnreachableBlocksPhase::Run |
( |
| ) |
|
The documentation for this class was generated from the following files: