![]() |
v8
V8 is Google’s open source high-performance JavaScript and WebAssembly engine, written in C++.
|
#include <loop-peeling-reducer.h>
Public Member Functions | |
V< None > REDUCE_INPUT_GRAPH | Goto (V< None > ig_idx, const GotoOp >o) |
V< AnyOrNone > REDUCE_INPUT_GRAPH | Call (V< AnyOrNone > ig_idx, const CallOp &call) |
V< None > REDUCE_INPUT_GRAPH | JSStackCheck (V< None > ig_idx, const JSStackCheckOp &stack_check) |
OpIndex REDUCE_INPUT_GRAPH | Phi (OpIndex ig_idx, const PhiOp &phi) |
Private Types | |
enum class | PeelingStatus { kNotPeeling , kEmittingPeeledLoop , kEmittingUnpeeledBody } |
Private Member Functions | |
void | PeelFirstIteration (const Block *header) |
bool | CanPeelLoop (const Block *header) |
bool | IsPeeling () const |
bool | IsEmittingPeeledIteration () const |
bool | IsEmittingUnpeeledBody () const |
Private Attributes | |
PeelingStatus | peeling_ = PeelingStatus::kNotPeeling |
const Block * | current_loop_header_ = nullptr |
LoopFinder | loop_finder_ {__ phase_zone(), &__ modifiable_input_graph()} |
JSHeapBroker * | broker_ = __ data() -> broker() |
Static Private Attributes | |
static constexpr int | kMaxSizeForPeeling = 1000 |
Definition at line 300 of file loop-unrolling-reducer.h.
|
strongprivate |
Enumerator | |
---|---|
kNotPeeling | |
kEmittingPeeledLoop | |
kEmittingUnpeeledBody |
Definition at line 125 of file loop-peeling-reducer.h.
|
inline |
|
inlineprivate |
Definition at line 163 of file loop-peeling-reducer.h.
|
inline |
|
inlineprivate |
|
inlineprivate |
|
inlineprivate |
Definition at line 181 of file loop-peeling-reducer.h.
|
inline |
|
inlineprivate |
Definition at line 131 of file loop-peeling-reducer.h.
|
inline |
|
private |
Definition at line 195 of file loop-peeling-reducer.h.
|
private |
Definition at line 192 of file loop-peeling-reducer.h.
|
staticconstexprprivate |
Definition at line 124 of file loop-peeling-reducer.h.
|
private |
Definition at line 194 of file loop-peeling-reducer.h.
|
private |
Definition at line 191 of file loop-peeling-reducer.h.