Reviewers: Michael Starzinger,

Message:
PTAL

Description:
Remove HType::HeapNumber from mutable heap numbers.

BUG=

Please review this at https://codereview.chromium.org/293353004/

SVN Base: https://v8.googlecode.com/svn/branches/bleeding_edge

Affected files (+1, -8 lines):
  M src/hydrogen.cc
  M src/hydrogen-instructions.h


Index: src/hydrogen-instructions.h
diff --git a/src/hydrogen-instructions.h b/src/hydrogen-instructions.h
index 4f83aafa72e0515cf4a419f1d1cc16f25ba29a81..0ecad2369ae14982a98c13f6f4548d54e7895943 100644
--- a/src/hydrogen-instructions.h
+++ b/src/hydrogen-instructions.h
@@ -714,7 +714,6 @@ 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();
@@ -5547,10 +5546,6 @@ 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_;
Index: src/hydrogen.cc
diff --git a/src/hydrogen.cc b/src/hydrogen.cc
index 8e0858dca7ea91be64f320d0f83392c592cbf8d9..d6fe8df5454a61489c437b5edadb0a0e7b3b6a92 100644
--- a/src/hydrogen.cc
+++ b/src/hydrogen.cc
@@ -5446,7 +5446,6 @@ HInstruction* HOptimizedGraphBuilder::BuildLoadNamedField(
     checked_object = Add<HLoadNamedField>(
         checked_object, static_cast<HValue*>(NULL),
         access.WithRepresentation(Representation::Tagged()));
-    checked_object->set_type(HType::HeapNumber());
     // Load the double value from it.
     access = HObjectAccess::ForHeapNumberValue();
   }
@@ -5486,7 +5485,7 @@ HInstruction* HOptimizedGraphBuilder::BuildStoreNamedField(
           isolate()->heap()->GetPretenureMode() : NOT_TENURED;

       HInstruction* heap_number = Add<HAllocate>(heap_number_size,
-          HType::HeapNumber(),
+          HType::Tagged(),
           pretenure_flag,
           HEAP_NUMBER_TYPE);
AddStoreMapConstant(heap_number, isolate()->factory()->heap_number_map()); @@ -5499,7 +5498,6 @@ HInstruction* HOptimizedGraphBuilder::BuildStoreNamedField( // Already holds a HeapNumber; load the box and write its value field.
       HInstruction* heap_number = Add<HLoadNamedField>(
           checked_object, static_cast<HValue*>(NULL), heap_number_access);
-      heap_number->set_type(HType::HeapNumber());
       instr = New<HStoreNamedField>(heap_number,
                                     HObjectAccess::ForHeapNumberValue(),
                                     value, STORE_TO_INITIALIZED_ENTRY);


--
--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev
--- You received this message because you are subscribed to the Google Groups "v8-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to