V8 Project
|
#include <simplified-lowering.h>
Public Member Functions | |
SimplifiedLowering (JSGraph *jsgraph) | |
virtual | ~SimplifiedLowering () |
void | LowerAllNodes () |
void | DoLoadField (Node *node) |
void | DoStoreField (Node *node) |
void | DoLoadElement (Node *node) |
void | DoStoreElement (Node *node) |
void | DoStringAdd (Node *node) |
void | DoStringEqual (Node *node) |
void | DoStringLessThan (Node *node) |
void | DoStringLessThanOrEqual (Node *node) |
Private Member Functions | |
Node * | SmiTag (Node *node) |
Node * | IsTagged (Node *node) |
Node * | Untag (Node *node) |
Node * | OffsetMinusTagConstant (int32_t offset) |
Node * | ComputeIndex (const ElementAccess &access, Node *index) |
Node * | StringComparison (Node *node, bool requires_ordering) |
Zone * | zone () |
JSGraph * | jsgraph () |
Graph * | graph () |
CommonOperatorBuilder * | common () |
MachineOperatorBuilder * | machine () |
Private Attributes | |
JSGraph * | jsgraph_ |
Friends | |
class | RepresentationSelector |
Definition at line 17 of file simplified-lowering.h.
|
inlineexplicit |
Definition at line 19 of file simplified-lowering.h.
|
inlinevirtual |
Definition at line 20 of file simplified-lowering.h.
|
inlineprivate |
Definition at line 49 of file simplified-lowering.h.
References v8::internal::compiler::JSGraph::common(), and jsgraph().
Referenced by DoStringAdd(), StringComparison(), and v8::internal::compiler::RepresentationSelector::VisitPhi().
|
private |
Definition at line 855 of file simplified-lowering.cc.
References v8::internal::compiler::ElementSizeOf(), graph(), v8::internal::compiler::ElementAccess::header_size, jsgraph(), machine(), v8::internal::compiler::ElementAccess::machine_type, v8::internal::compiler::Graph::NewNode(), and v8::internal::compiler::ElementAccess::tag().
Referenced by DoLoadElement(), and DoStoreElement().
void v8::internal::compiler::SimplifiedLowering::DoLoadElement | ( | Node * | node | ) |
Definition at line 869 of file simplified-lowering.cc.
References ComputeIndex(), v8::internal::compiler::ElementAccessOf(), machine(), and v8::internal::compiler::ElementAccess::machine_type.
Referenced by v8::internal::compiler::RepresentationSelector::VisitNode().
void v8::internal::compiler::SimplifiedLowering::DoLoadField | ( | Node * | node | ) |
Definition at line 836 of file simplified-lowering.cc.
References v8::internal::compiler::FieldAccessOf(), v8::internal::compiler::JSGraph::Int32Constant(), jsgraph(), machine(), v8::internal::compiler::FieldAccess::machine_type, v8::internal::compiler::FieldAccess::offset, v8::internal::compiler::FieldAccess::tag(), and zone().
Referenced by v8::internal::compiler::RepresentationSelector::VisitNode().
void v8::internal::compiler::SimplifiedLowering::DoStoreElement | ( | Node * | node | ) |
Definition at line 877 of file simplified-lowering.cc.
References v8::internal::compiler::ElementAccess::base_is_tagged, ComputeIndex(), v8::internal::compiler::ComputeWriteBarrierKind(), v8::internal::compiler::ElementAccessOf(), machine(), v8::internal::compiler::ElementAccess::machine_type, and v8::internal::compiler::ElementAccess::type.
Referenced by v8::internal::compiler::RepresentationSelector::VisitNode().
void v8::internal::compiler::SimplifiedLowering::DoStoreField | ( | Node * | node | ) |
Definition at line 844 of file simplified-lowering.cc.
References v8::internal::compiler::FieldAccess::base_is_tagged, v8::internal::compiler::ComputeWriteBarrierKind(), v8::internal::compiler::FieldAccessOf(), v8::internal::compiler::JSGraph::Int32Constant(), jsgraph(), machine(), v8::internal::compiler::FieldAccess::machine_type, v8::internal::compiler::FieldAccess::offset, v8::internal::compiler::FieldAccess::tag(), v8::internal::compiler::FieldAccess::type, and zone().
Referenced by v8::internal::compiler::RepresentationSelector::VisitNode().
void v8::internal::compiler::SimplifiedLowering::DoStringAdd | ( | Node * | node | ) |
Definition at line 888 of file simplified-lowering.cc.
References common(), v8::internal::anonymous_namespace{flags.cc}::flags, v8::internal::compiler::Linkage::GetStubCallDescriptor(), graph(), jsgraph(), v8::internal::NOT_TENURED, v8::internal::STRING_ADD_CHECK_NONE, and zone().
Referenced by v8::internal::compiler::RepresentationSelector::VisitNode().
void v8::internal::compiler::SimplifiedLowering::DoStringEqual | ( | Node * | node | ) |
Definition at line 921 of file simplified-lowering.cc.
References v8::internal::EQUAL, jsgraph(), machine(), and StringComparison().
Referenced by v8::internal::compiler::RepresentationSelector::VisitNode().
void v8::internal::compiler::SimplifiedLowering::DoStringLessThan | ( | Node * | node | ) |
Definition at line 928 of file simplified-lowering.cc.
References v8::internal::EQUAL, jsgraph(), machine(), and StringComparison().
Referenced by v8::internal::compiler::RepresentationSelector::VisitNode().
void v8::internal::compiler::SimplifiedLowering::DoStringLessThanOrEqual | ( | Node * | node | ) |
Definition at line 935 of file simplified-lowering.cc.
References v8::internal::EQUAL, jsgraph(), machine(), and StringComparison().
Referenced by v8::internal::compiler::RepresentationSelector::VisitNode().
|
inlineprivate |
Definition at line 48 of file simplified-lowering.h.
References v8::internal::compiler::JSGraph::graph(), and jsgraph().
Referenced by ComputeIndex(), DoStringAdd(), IsTagged(), LowerAllNodes(), SmiTag(), StringComparison(), and Untag().
|
private |
Definition at line 787 of file simplified-lowering.cc.
References graph(), jsgraph(), v8::internal::kSmiTagMask, machine(), v8::internal::compiler::Graph::NewNode(), and v8::internal::compiler::STATIC_ASSERT().
|
inlineprivate |
Definition at line 47 of file simplified-lowering.h.
References jsgraph_.
Referenced by common(), ComputeIndex(), DoLoadField(), DoStoreField(), DoStringAdd(), DoStringEqual(), DoStringLessThan(), DoStringLessThanOrEqual(), graph(), IsTagged(), LowerAllNodes(), machine(), OffsetMinusTagConstant(), SmiTag(), StringComparison(), and Untag().
void v8::internal::compiler::SimplifiedLowering::LowerAllNodes | ( | ) |
Definition at line 795 of file simplified-lowering.cc.
References graph(), jsgraph(), v8::internal::compiler::RepresentationSelector::Run(), and zone().
Referenced by v8::internal::compiler::Pipeline::GenerateCode().
|
inlineprivate |
Definition at line 50 of file simplified-lowering.h.
References jsgraph(), and v8::internal::compiler::JSGraph::machine().
Referenced by ComputeIndex(), DoLoadElement(), DoLoadField(), DoStoreElement(), DoStoreField(), DoStringEqual(), DoStringLessThan(), DoStringLessThanOrEqual(), IsTagged(), SmiTag(), Untag(), and v8::internal::compiler::RepresentationSelector::VisitNode().
|
private |
Definition at line 818 of file simplified-lowering.cc.
References v8::internal::compiler::JSGraph::Int32Constant(), jsgraph(), and v8::internal::kHeapObjectTag.
|
private |
Definition at line 811 of file simplified-lowering.cc.
References graph(), v8::internal::compiler::JSGraph::Int32Constant(), jsgraph(), v8::internal::kSmiShiftSize, v8::internal::kSmiTagSize, machine(), and v8::internal::compiler::Graph::NewNode().
|
private |
Definition at line 902 of file simplified-lowering.cc.
References common(), v8::internal::compiler::Linkage::GetRuntimeCallDescriptor(), v8::internal::compiler::NodeProperties::GetValueInput(), graph(), jsgraph(), v8::internal::compiler::Graph::NewNode(), and zone().
Referenced by DoStringEqual(), DoStringLessThan(), and DoStringLessThanOrEqual().
|
private |
Definition at line 804 of file simplified-lowering.cc.
References graph(), v8::internal::compiler::JSGraph::Int32Constant(), jsgraph(), v8::internal::kSmiShiftSize, v8::internal::kSmiTagSize, machine(), and v8::internal::compiler::Graph::NewNode().
|
inlineprivate |
Definition at line 46 of file simplified-lowering.h.
References jsgraph_, and v8::internal::compiler::JSGraph::zone().
Referenced by DoLoadField(), DoStoreField(), DoStringAdd(), LowerAllNodes(), and StringComparison().
|
friend |
Definition at line 44 of file simplified-lowering.h.
|
private |
Definition at line 35 of file simplified-lowering.h.