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.