Index: src/compiler/simplified-lowering.h |
diff --git a/src/compiler/simplified-lowering.h b/src/compiler/simplified-lowering.h |
index efb4f22c9206e95be11f2716849af278f27921b3..baffe206ff6a9a34ef8bfa37aa1d8dd2f2354164 100644 |
--- a/src/compiler/simplified-lowering.h |
+++ b/src/compiler/simplified-lowering.h |
@@ -21,6 +21,7 @@ namespace compiler { |
// Forward declarations. |
class RepresentationChanger; |
+class RepresentationSelector; |
class SourcePositionTable; |
class SimplifiedLowering final { |
@@ -31,6 +32,10 @@ class SimplifiedLowering final { |
void LowerAllNodes(); |
+ void DoJSToNumberTruncatesToFloat64(Node* node, |
+ RepresentationSelector* selector); |
+ void DoJSToNumberTruncatesToWord32(Node* node, |
+ RepresentationSelector* selector); |
// TODO(turbofan): The representation can be removed once the result of the |
// representation analysis is stored in the node bounds. |
void DoLoadBuffer(Node* node, MachineRepresentation rep, |
@@ -42,6 +47,8 @@ class SimplifiedLowering final { |
JSGraph* const jsgraph_; |
Zone* const zone_; |
TypeCache const& type_cache_; |
+ SetOncePointer<Node> to_number_code_; |
+ SetOncePointer<Operator const> to_number_operator_; |
// TODO(danno): SimplifiedLowering shouldn't know anything about the source |
// positions table, but must for now since there currently is no other way to |
@@ -59,6 +66,9 @@ class SimplifiedLowering final { |
Node* Uint32Div(Node* const node); |
Node* Uint32Mod(Node* const node); |
+ Node* ToNumberCode(); |
+ Operator const* ToNumberOperator(); |
+ |
friend class RepresentationSelector; |
Isolate* isolate() { return jsgraph_->isolate(); } |
@@ -67,6 +77,7 @@ class SimplifiedLowering final { |
Graph* graph() { return jsgraph()->graph(); } |
CommonOperatorBuilder* common() { return jsgraph()->common(); } |
MachineOperatorBuilder* machine() { return jsgraph()->machine(); } |
+ SimplifiedOperatorBuilder* simplified() { return jsgraph()->simplified(); } |
}; |
} // namespace compiler |