V8 Project
|
#include <hydrogen-environment-liveness.h>
Public Member Functions | |
HEnvironmentLivenessAnalysisPhase (HGraph *graph) | |
void | Run () |
![]() | |
HPhase (const char *name, HGraph *graph) | |
~HPhase () | |
Private Member Functions | |
void | ZapEnvironmentSlot (int index, HSimulate *simulate) |
void | ZapEnvironmentSlotsInSuccessors (HBasicBlock *block, BitVector *live) |
void | ZapEnvironmentSlotsForInstruction (HEnvironmentMarker *marker) |
void | UpdateLivenessAtBlockEnd (HBasicBlock *block, BitVector *live) |
void | UpdateLivenessAtInstruction (HInstruction *instr, BitVector *live) |
DISALLOW_COPY_AND_ASSIGN (HEnvironmentLivenessAnalysisPhase) | |
Private Attributes | |
int | block_count_ |
int | maximum_environment_size_ |
ZoneList< BitVector * > | live_at_block_start_ |
ZoneList< HSimulate * > | first_simulate_ |
ZoneList< BitVector * > | first_simulate_invalid_for_index_ |
ZoneList< HEnvironmentMarker * > | markers_ |
bool | collect_markers_ |
HSimulate * | last_simulate_ |
BitVector | went_live_since_last_simulate_ |
Additional Inherited Members | |
![]() | |
HGraph * | graph () const |
Definition at line 23 of file hydrogen-environment-liveness.h.
|
explicit |
Definition at line 13 of file hydrogen-environment-liveness.cc.
References v8::internal::List< T, AllocationPolicy >::Add(), block_count_, DCHECK, first_simulate_, first_simulate_invalid_for_index_, live_at_block_start_, maximum_environment_size_, and NULL.
|
private |
void v8::internal::HEnvironmentLivenessAnalysisPhase::Run | ( | ) |
Definition at line 158 of file hydrogen-environment-liveness.cc.
References v8::internal::BitVector::Add(), block_count_, collect_markers_, v8::internal::BitVector::Contains(), DCHECK, first_simulate_, first_simulate_invalid_for_index_, v8::internal::HPhase::graph(), v8::internal::BitVector::IsEmpty(), last_simulate_, live_at_block_start_, markers_, maximum_environment_size_, NULL, v8::internal::BitVector::Remove(), v8::internal::List< T, AllocationPolicy >::Set(), UpdateLivenessAtBlockEnd(), UpdateLivenessAtInstruction(), went_live_since_last_simulate_, ZapEnvironmentSlotsForInstruction(), and ZapEnvironmentSlotsInSuccessors().
|
private |
Definition at line 83 of file hydrogen-environment-liveness.cc.
References v8::internal::BitVector::Clear(), live_at_block_start_, and v8::internal::BitVector::Union().
Referenced by Run().
|
private |
Definition at line 94 of file hydrogen-environment-liveness.cc.
References v8::internal::List< T, AllocationPolicy >::Add(), v8::internal::BitVector::Add(), v8::internal::BitVector::Clear(), collect_markers_, v8::internal::BitVector::Contains(), DCHECK, v8::internal::HValue::kEndsLiveRange, last_simulate_, live_at_block_start_, markers_, v8::internal::HInstruction::next(), NULL, v8::internal::HValue::opcode(), v8::internal::BitVector::Remove(), v8::internal::BitVector::Union(), and went_live_since_last_simulate_.
Referenced by Run().
|
private |
Definition at line 36 of file hydrogen-environment-liveness.cc.
References v8::internal::HPhase::graph().
Referenced by ZapEnvironmentSlotsForInstruction(), and ZapEnvironmentSlotsInSuccessors().
|
private |
Definition at line 72 of file hydrogen-environment-liveness.cc.
References DCHECK, v8::internal::HValue::kEndsLiveRange, NULL, and ZapEnvironmentSlot().
Referenced by Run().
|
private |
Definition at line 47 of file hydrogen-environment-liveness.cc.
References v8::internal::List< T, AllocationPolicy >::at(), v8::internal::BitVector::Contains(), DCHECK, v8::internal::BitVector::Equals(), first_simulate_, first_simulate_invalid_for_index_, v8::internal::BitVector::length(), live_at_block_start_, NULL, and ZapEnvironmentSlot().
Referenced by Run().
|
private |
Definition at line 39 of file hydrogen-environment-liveness.h.
Referenced by HEnvironmentLivenessAnalysisPhase(), and Run().
|
private |
Definition at line 54 of file hydrogen-environment-liveness.h.
Referenced by Run(), and UpdateLivenessAtInstruction().
|
private |
Definition at line 47 of file hydrogen-environment-liveness.h.
Referenced by HEnvironmentLivenessAnalysisPhase(), Run(), and ZapEnvironmentSlotsInSuccessors().
|
private |
Definition at line 48 of file hydrogen-environment-liveness.h.
Referenced by HEnvironmentLivenessAnalysisPhase(), Run(), and ZapEnvironmentSlotsInSuccessors().
|
private |
Definition at line 59 of file hydrogen-environment-liveness.h.
Referenced by Run(), and UpdateLivenessAtInstruction().
Definition at line 46 of file hydrogen-environment-liveness.h.
Referenced by HEnvironmentLivenessAnalysisPhase(), Run(), UpdateLivenessAtBlockEnd(), UpdateLivenessAtInstruction(), and ZapEnvironmentSlotsInSuccessors().
|
private |
Definition at line 53 of file hydrogen-environment-liveness.h.
Referenced by Run(), and UpdateLivenessAtInstruction().
|
private |
Definition at line 43 of file hydrogen-environment-liveness.h.
Referenced by HEnvironmentLivenessAnalysisPhase(), and Run().
|
private |
Definition at line 60 of file hydrogen-environment-liveness.h.
Referenced by Run(), and UpdateLivenessAtInstruction().