Index: test/cctest/compiler/simplified-graph-builder.h |
diff --git a/test/cctest/compiler/simplified-graph-builder.h b/test/cctest/compiler/simplified-graph-builder.h |
index fa9161e17138a51c6f0981e2a4e3f57ceb874d01..c04585f1ccf6cfb1707b8b669e3f11436b53fb7d 100644 |
--- a/test/cctest/compiler/simplified-graph-builder.h |
+++ b/test/cctest/compiler/simplified-graph-builder.h |
@@ -9,7 +9,6 @@ |
#include "src/compiler/graph-builder.h" |
#include "src/compiler/machine-node-factory.h" |
#include "src/compiler/machine-operator.h" |
-#include "src/compiler/simplified-node-factory.h" |
#include "src/compiler/simplified-operator.h" |
#include "test/cctest/cctest.h" |
#include "test/cctest/compiler/call-tester.h" |
@@ -19,39 +18,19 @@ namespace internal { |
namespace compiler { |
class SimplifiedGraphBuilder |
- : public StructuredGraphBuilder, |
- public MachineNodeFactory<SimplifiedGraphBuilder>, |
- public SimplifiedNodeFactory<SimplifiedGraphBuilder> { |
+ : public GraphBuilder, |
+ public MachineNodeFactory<SimplifiedGraphBuilder> { |
public: |
SimplifiedGraphBuilder(Graph* graph, CommonOperatorBuilder* common, |
MachineOperatorBuilder* machine, |
SimplifiedOperatorBuilder* simplified); |
virtual ~SimplifiedGraphBuilder() {} |
- class Environment : public StructuredGraphBuilder::Environment { |
- public: |
- Environment(SimplifiedGraphBuilder* builder, Node* control_dependency); |
- |
- // TODO(dcarney): encode somehow and merge into StructuredGraphBuilder. |
- // SSA renaming operations. |
- Node* Top(); |
- void Push(Node* node); |
- Node* Pop(); |
- void Poke(size_t depth, Node* node); |
- Node* Peek(size_t depth); |
- }; |
- |
+ Zone* zone() const { return graph()->zone(); } |
Isolate* isolate() const { return zone()->isolate(); } |
- Zone* zone() const { return StructuredGraphBuilder::zone(); } |
- CommonOperatorBuilder* common() const { |
- return StructuredGraphBuilder::common(); |
- } |
+ CommonOperatorBuilder* common() const { return common_; } |
MachineOperatorBuilder* machine() const { return machine_; } |
SimplifiedOperatorBuilder* simplified() const { return simplified_; } |
- Environment* environment() { |
- return reinterpret_cast<Environment*>( |
- StructuredGraphBuilder::environment()); |
- } |
// Initialize graph and builder. |
void Begin(int num_parameters); |
@@ -61,7 +40,99 @@ class SimplifiedGraphBuilder |
// Close the graph. |
void End(); |
+ Node* BooleanNot(Node* a) { return NewNode(simplified()->BooleanNot(), a); } |
+ |
+ Node* NumberEqual(Node* a, Node* b) { |
+ return NewNode(simplified()->NumberEqual(), a, b); |
+ } |
+ Node* NumberLessThan(Node* a, Node* b) { |
+ return NewNode(simplified()->NumberLessThan(), a, b); |
+ } |
+ Node* NumberLessThanOrEqual(Node* a, Node* b) { |
+ return NewNode(simplified()->NumberLessThanOrEqual(), a, b); |
+ } |
+ Node* NumberAdd(Node* a, Node* b) { |
+ return NewNode(simplified()->NumberAdd(), a, b); |
+ } |
+ Node* NumberSubtract(Node* a, Node* b) { |
+ return NewNode(simplified()->NumberSubtract(), a, b); |
+ } |
+ Node* NumberMultiply(Node* a, Node* b) { |
+ return NewNode(simplified()->NumberMultiply(), a, b); |
+ } |
+ Node* NumberDivide(Node* a, Node* b) { |
+ return NewNode(simplified()->NumberDivide(), a, b); |
+ } |
+ Node* NumberModulus(Node* a, Node* b) { |
+ return NewNode(simplified()->NumberModulus(), a, b); |
+ } |
+ Node* NumberToInt32(Node* a) { |
+ return NewNode(simplified()->NumberToInt32(), a); |
+ } |
+ Node* NumberToUint32(Node* a) { |
+ return NewNode(simplified()->NumberToUint32(), a); |
+ } |
+ |
+ Node* StringEqual(Node* a, Node* b) { |
+ return NewNode(simplified()->StringEqual(), a, b); |
+ } |
+ Node* StringLessThan(Node* a, Node* b) { |
+ return NewNode(simplified()->StringLessThan(), a, b); |
+ } |
+ Node* StringLessThanOrEqual(Node* a, Node* b) { |
+ return NewNode(simplified()->StringLessThanOrEqual(), a, b); |
+ } |
+ Node* StringAdd(Node* a, Node* b) { |
+ return NewNode(simplified()->StringAdd(), a, b); |
+ } |
+ |
+ Node* ChangeTaggedToInt32(Node* a) { |
+ return NewNode(simplified()->ChangeTaggedToInt32(), a); |
+ } |
+ Node* ChangeTaggedToUint32(Node* a) { |
+ return NewNode(simplified()->ChangeTaggedToUint32(), a); |
+ } |
+ Node* ChangeTaggedToFloat64(Node* a) { |
+ return NewNode(simplified()->ChangeTaggedToFloat64(), a); |
+ } |
+ Node* ChangeInt32ToTagged(Node* a) { |
+ return NewNode(simplified()->ChangeInt32ToTagged(), a); |
+ } |
+ Node* ChangeUint32ToTagged(Node* a) { |
+ return NewNode(simplified()->ChangeUint32ToTagged(), a); |
+ } |
+ Node* ChangeFloat64ToTagged(Node* a) { |
+ return NewNode(simplified()->ChangeFloat64ToTagged(), a); |
+ } |
+ Node* ChangeBoolToBit(Node* a) { |
+ return NewNode(simplified()->ChangeBoolToBit(), a); |
+ } |
+ Node* ChangeBitToBool(Node* a) { |
+ return NewNode(simplified()->ChangeBitToBool(), a); |
+ } |
+ |
+ Node* LoadField(const FieldAccess& access, Node* object) { |
+ return NewNode(simplified()->LoadField(access), object); |
+ } |
+ Node* StoreField(const FieldAccess& access, Node* object, Node* value) { |
+ return NewNode(simplified()->StoreField(access), object, value); |
+ } |
+ Node* LoadElement(const ElementAccess& access, Node* object, Node* index) { |
+ return NewNode(simplified()->LoadElement(access), object, index); |
+ } |
+ Node* StoreElement(const ElementAccess& access, Node* object, Node* index, |
+ Node* value) { |
+ return NewNode(simplified()->StoreElement(access), object, index, value); |
+ } |
+ |
+ protected: |
+ virtual Node* MakeNode(Operator* op, int value_input_count, |
+ Node** value_inputs); |
+ |
private: |
+ Node* effect_; |
+ Node* return_; |
+ CommonOperatorBuilder* common_; |
MachineOperatorBuilder* machine_; |
SimplifiedOperatorBuilder* simplified_; |
}; |