Index: src/hydrogen-instructions.h |
diff --git a/src/hydrogen-instructions.h b/src/hydrogen-instructions.h |
index 05b31162af5730e4b83bb5844ed1aad40615f823..196f8f0b51d5ee400ef58582f2aecc82f340fa5b 100644 |
--- a/src/hydrogen-instructions.h |
+++ b/src/hydrogen-instructions.h |
@@ -714,6 +714,7 @@ class HValue : public ZoneObject { |
if (r.IsTagged()) { |
HType t = type(); |
if (t.IsSmi()) return Representation::Smi(); |
+ // TODO(mstarzinger): This is not correct for mutable HeapNumbers. |
if (t.IsHeapNumber()) return Representation::Double(); |
if (t.IsHeapObject()) return r; |
return Representation::None(); |
@@ -5503,6 +5504,10 @@ class HAllocate V8_FINAL : public HTemplateInstruction<2> { |
return Representation::Integer32(); |
} |
} |
+ // TODO(mstarzinger): Workaround until we track mutable HeapNumber types. |
+ virtual Representation KnownOptimalRepresentation() V8_OVERRIDE { |
+ return representation(); |
+ } |
virtual Handle<Map> GetMonomorphicJSObjectMap() { |
return known_initial_map_; |