V8 Project
|
#include <hydrogen.h>
Classes | |
class | MergeAtJoinBlock |
Public Types | |
enum | Direction { kPreIncrement , kPostIncrement , kPreDecrement , kPostDecrement , kWhileTrue } |
enum | FillMode { DONT_FILL_WITH_HOLE , FILL_WITH_HOLE } |
Public Member Functions | |
IfBuilder () | |
IfBuilder (HGraphBuilder *builder) | |
IfBuilder (HGraphBuilder *builder, HIfContinuation *continuation) | |
~IfBuilder () | |
void | Initialize (HGraphBuilder *builder) |
template<class Condition > | |
Condition * | If (HValue *p) |
template<class Condition , class P2 > | |
Condition * | If (HValue *p1, P2 p2) |
template<class Condition , class P2 , class P3 > | |
Condition * | If (HValue *p1, P2 p2, P3 p3) |
template<class Condition > | |
Condition * | IfNot (HValue *p) |
template<class Condition , class P2 > | |
Condition * | IfNot (HValue *p1, P2 p2) |
template<class Condition , class P2 , class P3 > | |
Condition * | IfNot (HValue *p1, P2 p2, P3 p3) |
template<class Condition > | |
Condition * | OrIf (HValue *p) |
template<class Condition , class P2 > | |
Condition * | OrIf (HValue *p1, P2 p2) |
template<class Condition , class P2 , class P3 > | |
Condition * | OrIf (HValue *p1, P2 p2, P3 p3) |
template<class Condition > | |
Condition * | AndIf (HValue *p) |
template<class Condition , class P2 > | |
Condition * | AndIf (HValue *p1, P2 p2) |
template<class Condition , class P2 , class P3 > | |
Condition * | AndIf (HValue *p1, P2 p2, P3 p3) |
void | Or () |
void | And () |
void | CaptureContinuation (HIfContinuation *continuation) |
void | JoinContinuation (HIfContinuation *continuation) |
void | Then () |
void | Else () |
void | End () |
void | Deopt (const char *reason) |
void | ThenDeopt (const char *reason) |
void | ElseDeopt (const char *reason) |
void | Return (HValue *value) |
LoopBuilder (HGraphBuilder *builder) | |
LoopBuilder (HGraphBuilder *builder, HValue *context, Direction direction) | |
LoopBuilder (HGraphBuilder *builder, HValue *context, Direction direction, HValue *increment_amount) | |
~LoopBuilder () | |
HValue * | BeginBody (HValue *initial, HValue *terminating, Token::Value token) |
void | BeginBody (int drop_count) |
void | Break () |
void | EndBody () |
JSArrayBuilder (HGraphBuilder *builder, ElementsKind kind, HValue *allocation_site_payload, HValue *constructor_function, AllocationSiteOverrideMode override_mode) | |
JSArrayBuilder (HGraphBuilder *builder, ElementsKind kind, HValue *constructor_function=NULL) | |
ElementsKind | kind () |
HAllocate * | elements_location () |
HAllocate * | AllocateEmptyArray () |
HAllocate * | AllocateArray (HValue *capacity, HValue *length_field, FillMode fill_mode=FILL_WITH_HOLE) |
HAllocate * | AllocateArray (HValue *capacity, int capacity_upper_bound, HValue *length_field, FillMode fill_mode=FILL_WITH_HOLE) |
HAllocate * | AllocateArray (HValue *capacity, HConstant *capacity_upper_bound, HValue *length_field, FillMode fill_mode=FILL_WITH_HOLE) |
HValue * | GetElementsLocation () |
HValue * | EmitMapCode () |
Private Member Functions | |
void | InitializeDontCreateBlocks (HGraphBuilder *builder) |
HControlInstruction * | AddCompare (HControlInstruction *compare) |
HGraphBuilder * | builder () const |
void | AddMergeAtJoinBlock (bool deopt) |
void | Finish () |
void | Finish (HBasicBlock **then_continuation, HBasicBlock **else_continuation) |
void | Initialize (HGraphBuilder *builder, HValue *context, Direction direction, HValue *increment_amount) |
Zone * | zone () |
Zone * | zone () const |
int | elements_size () const |
HGraphBuilder * | builder () |
HGraph * | graph () |
int | initial_capacity () |
HValue * | EmitInternalMapCode () |
Private Attributes | |
HGraphBuilder * | builder_ |
bool | finished_: 1 |
bool | did_then_: 1 |
bool | did_else_: 1 |
bool | did_else_if_: 1 |
bool | did_and_: 1 |
bool | did_or_: 1 |
bool | captured_: 1 |
bool | needs_compare_: 1 |
bool | pending_merge_block_: 1 |
HBasicBlock * | first_true_block_ |
HBasicBlock * | first_false_block_ |
HBasicBlock * | split_edge_merge_block_ |
MergeAtJoinBlock * | merge_at_join_blocks_ |
int | normal_merge_at_join_block_count_ |
int | deopt_merge_at_join_block_count_ |
HValue * | context_ |
HValue * | increment_amount_ |
HInstruction * | increment_ |
HPhi * | phi_ |
HBasicBlock * | header_block_ |
HBasicBlock * | body_block_ |
HBasicBlock * | exit_block_ |
HBasicBlock * | exit_trampoline_block_ |
Direction | direction_ |
ElementsKind | kind_ |
AllocationSiteMode | mode_ |
HValue * | allocation_site_payload_ |
HValue * | constructor_function_ |
HAllocate * | elements_location_ |
Definition at line 1477 of file hydrogen.h.
Enumerator | |
---|---|
kPreIncrement | |
kPostIncrement | |
kPreDecrement | |
kPostDecrement | |
kWhileTrue |
Definition at line 1682 of file hydrogen.h.
Enumerator | |
---|---|
DONT_FILL_WITH_HOLE | |
FILL_WITH_HOLE |
Definition at line 1746 of file hydrogen.h.
|
inline |
Definition at line 1486 of file hydrogen.h.
|
inline |
Definition at line 1699 of file hydrogen.h.
References DCHECK.
|
private |
|
private |
HAllocate* v8::internal::HGraphBuilder::FINAL::AllocateArray | ( | HValue * | capacity, |
HConstant * | capacity_upper_bound, | ||
HValue * | length_field, | ||
FillMode | fill_mode = FILL_WITH_HOLE |
||
) |
HAllocate* v8::internal::HGraphBuilder::FINAL::AllocateArray | ( | HValue * | capacity, |
HValue * | length_field, | ||
FillMode | fill_mode = FILL_WITH_HOLE |
||
) |
HAllocate* v8::internal::HGraphBuilder::FINAL::AllocateArray | ( | HValue * | capacity, |
int | capacity_upper_bound, | ||
HValue * | length_field, | ||
FillMode | fill_mode = FILL_WITH_HOLE |
||
) |
HAllocate* v8::internal::HGraphBuilder::FINAL::AllocateEmptyArray | ( | ) |
void v8::internal::HGraphBuilder::FINAL::And | ( | ) |
|
inline |
Definition at line 1553 of file hydrogen.h.
|
inline |
|
inline |
Definition at line 1565 of file hydrogen.h.
References v8::internal::p1, v8::internal::p2, and v8::internal::p3.
HValue* v8::internal::HGraphBuilder::FINAL::BeginBody | ( | HValue * | initial, |
HValue * | terminating, | ||
Token::Value | token | ||
) |
void v8::internal::HGraphBuilder::FINAL::BeginBody | ( | int | drop_count | ) |
void v8::internal::HGraphBuilder::FINAL::Break | ( | ) |
|
inlineprivate |
Definition at line 1778 of file hydrogen.h.
|
inlineprivate |
Definition at line 1638 of file hydrogen.h.
void v8::internal::HGraphBuilder::FINAL::CaptureContinuation | ( | HIfContinuation * | continuation | ) |
void v8::internal::HGraphBuilder::FINAL::Deopt | ( | const char * | reason | ) |
|
inline |
Definition at line 1752 of file hydrogen.h.
|
inlineprivate |
Definition at line 1775 of file hydrogen.h.
References v8::internal::IsFastDoubleElementsKind(), v8::internal::kDoubleSize, and v8::internal::kPointerSize.
void v8::internal::HGraphBuilder::FINAL::Else | ( | ) |
|
inline |
Definition at line 1626 of file hydrogen.h.
|
private |
HValue* v8::internal::HGraphBuilder::FINAL::EmitMapCode | ( | ) |
void v8::internal::HGraphBuilder::FINAL::End | ( | ) |
void v8::internal::HGraphBuilder::FINAL::EndBody | ( | ) |
|
private |
|
private |
|
inline |
Definition at line 1770 of file hydrogen.h.
|
inlineprivate |
Definition at line 1779 of file hydrogen.h.
Definition at line 1493 of file hydrogen.h.
|
inline |
|
inline |
Definition at line 1507 of file hydrogen.h.
References v8::internal::p1, v8::internal::p2, and v8::internal::p3.
v8::internal::HGraphBuilder::FINAL::IfBuilder | ( | ) |
|
explicit |
v8::internal::HGraphBuilder::FINAL::IfBuilder | ( | HGraphBuilder * | builder, |
HIfContinuation * | continuation | ||
) |
|
inline |
Definition at line 1514 of file hydrogen.h.
|
inline |
|
inline |
Definition at line 1528 of file hydrogen.h.
References v8::internal::p1, v8::internal::p2, and v8::internal::p3.
|
inlineprivate |
Definition at line 1780 of file hydrogen.h.
References v8::internal::JSArray::kPreallocatedArrayElements, and v8::internal::STATIC_ASSERT().
void v8::internal::HGraphBuilder::FINAL::Initialize | ( | HGraphBuilder * | builder | ) |
|
private |
|
private |
void v8::internal::HGraphBuilder::FINAL::JoinContinuation | ( | HIfContinuation * | continuation | ) |
v8::internal::HGraphBuilder::FINAL::JSArrayBuilder | ( | HGraphBuilder * | builder, |
ElementsKind | kind, | ||
HValue * | allocation_site_payload, | ||
HValue * | constructor_function, | ||
AllocationSiteOverrideMode | override_mode | ||
) |
v8::internal::HGraphBuilder::FINAL::JSArrayBuilder | ( | HGraphBuilder * | builder, |
ElementsKind | kind, | ||
HValue * | constructor_function = NULL |
||
) |
|
inline |
Definition at line 1751 of file hydrogen.h.
|
explicit |
v8::internal::HGraphBuilder::FINAL::LoopBuilder | ( | HGraphBuilder * | builder, |
HValue * | context, | ||
Direction | direction | ||
) |
v8::internal::HGraphBuilder::FINAL::LoopBuilder | ( | HGraphBuilder * | builder, |
HValue * | context, | ||
Direction | direction, | ||
HValue * | increment_amount | ||
) |
void v8::internal::HGraphBuilder::FINAL::Or | ( | ) |
Definition at line 1535 of file hydrogen.h.
|
inline |
Definition at line 1541 of file hydrogen.h.
References v8::internal::p1, and v8::internal::p2.
|
inline |
Definition at line 1547 of file hydrogen.h.
References v8::internal::p1, v8::internal::p2, and v8::internal::p3.
void v8::internal::HGraphBuilder::FINAL::Return | ( | HValue * | value | ) |
void v8::internal::HGraphBuilder::FINAL::Then | ( | ) |
|
inline |
Definition at line 1622 of file hydrogen.h.
|
inlineprivate |
Definition at line 1717 of file hydrogen.h.
|
inlineprivate |
Definition at line 1774 of file hydrogen.h.
|
private |
Definition at line 1790 of file hydrogen.h.
|
private |
Definition at line 1725 of file hydrogen.h.
|
private |
Definition at line 1662 of file hydrogen.h.
|
private |
Definition at line 1669 of file hydrogen.h.
|
private |
Definition at line 1791 of file hydrogen.h.
|
private |
Definition at line 1720 of file hydrogen.h.
|
private |
Definition at line 1677 of file hydrogen.h.
|
private |
Definition at line 1667 of file hydrogen.h.
|
private |
Definition at line 1665 of file hydrogen.h.
|
private |
Definition at line 1666 of file hydrogen.h.
|
private |
Definition at line 1668 of file hydrogen.h.
|
private |
Definition at line 1664 of file hydrogen.h.
|
private |
Definition at line 1728 of file hydrogen.h.
|
private |
Definition at line 1792 of file hydrogen.h.
|
private |
Definition at line 1726 of file hydrogen.h.
|
private |
Definition at line 1727 of file hydrogen.h.
|
private |
Definition at line 1663 of file hydrogen.h.
|
private |
Definition at line 1673 of file hydrogen.h.
|
private |
Definition at line 1672 of file hydrogen.h.
|
private |
Definition at line 1724 of file hydrogen.h.
|
private |
Definition at line 1722 of file hydrogen.h.
|
private |
Definition at line 1721 of file hydrogen.h.
|
private |
Definition at line 1788 of file hydrogen.h.
|
private |
Definition at line 1675 of file hydrogen.h.
|
private |
Definition at line 1789 of file hydrogen.h.
|
private |
Definition at line 1670 of file hydrogen.h.
|
private |
Definition at line 1676 of file hydrogen.h.
|
private |
Definition at line 1671 of file hydrogen.h.
|
private |
Definition at line 1723 of file hydrogen.h.
|
private |
Definition at line 1674 of file hydrogen.h.