| Index: src/compiler/simplified-lowering.h
|
| diff --git a/src/compiler/simplified-lowering.h b/src/compiler/simplified-lowering.h
|
| index 0e8d5aa7226922f3a4153ea8775b2573aecfb6e6..8a34483e3c34b612ab11490754a0fa9fbc0696e4 100644
|
| --- a/src/compiler/simplified-lowering.h
|
| +++ b/src/compiler/simplified-lowering.h
|
| @@ -16,7 +16,8 @@ namespace compiler {
|
|
|
| class SimplifiedLowering FINAL {
|
| public:
|
| - explicit SimplifiedLowering(JSGraph* jsgraph) : jsgraph_(jsgraph) {}
|
| + explicit SimplifiedLowering(JSGraph* jsgraph)
|
| + : jsgraph_(jsgraph), simplified_(jsgraph->zone()) {}
|
| ~SimplifiedLowering() {}
|
|
|
| void LowerAllNodes();
|
| @@ -24,10 +25,12 @@ class SimplifiedLowering FINAL {
|
| // TODO(titzer): These are exposed for direct testing. Use a friend class.
|
| void DoLoadField(Node* node);
|
| void DoStoreField(Node* node);
|
| + void DoLoadElement(Node* node);
|
| + void DoStoreElement(Node* node);
|
| // TODO(turbofan): The output_type can be removed once the result of the
|
| // representation analysis is stored in the node bounds.
|
| - void DoLoadElement(Node* node, MachineType output_type);
|
| - void DoStoreElement(Node* node);
|
| + void DoLoadBuffer(Node* node, MachineType output_type);
|
| + void DoStoreBuffer(Node* node);
|
| void DoStringAdd(Node* node);
|
| void DoStringEqual(Node* node);
|
| void DoStringLessThan(Node* node);
|
| @@ -35,12 +38,14 @@ class SimplifiedLowering FINAL {
|
|
|
| private:
|
| JSGraph* jsgraph_;
|
| + SimplifiedOperatorBuilder simplified_;
|
|
|
| Node* SmiTag(Node* node);
|
| Node* IsTagged(Node* node);
|
| Node* Untag(Node* node);
|
| Node* OffsetMinusTagConstant(int32_t offset);
|
| - Node* ComputeIndex(const ElementAccess& access, Node* const key);
|
| + Node* ComputeIndex(const ElementAccess&, Node*);
|
| + Node* ComputeOffset(const BufferAccess&, Node*);
|
| Node* StringComparison(Node* node, bool requires_ordering);
|
| Node* Int32Div(Node* const node);
|
| Node* Int32Mod(Node* const node);
|
| @@ -54,6 +59,7 @@ class SimplifiedLowering FINAL {
|
| Graph* graph() { return jsgraph()->graph(); }
|
| CommonOperatorBuilder* common() { return jsgraph()->common(); }
|
| MachineOperatorBuilder* machine() { return jsgraph()->machine(); }
|
| + SimplifiedOperatorBuilder* simplified() { return &simplified_; }
|
| };
|
|
|
| } // namespace compiler
|
|
|