Index: src/virtual-frame.cc |
diff --git a/src/virtual-frame.cc b/src/virtual-frame.cc |
index 39dbf17350f0db4679e64d46fee9f612c73f089e..44e5fae44754c91927975485421ed6a5a4677e58 100644 |
--- a/src/virtual-frame.cc |
+++ b/src/virtual-frame.cc |
@@ -73,7 +73,6 @@ FrameElement VirtualFrame::CopyElementAt(int index) { |
case FrameElement::MEMORY: // Fall through. |
case FrameElement::REGISTER: |
// All copies are backed by memory or register locations. |
- result.set_static_type(target.static_type()); |
result.set_type(FrameElement::COPY); |
result.clear_copied(); |
result.clear_sync(); |
@@ -153,7 +152,6 @@ void VirtualFrame::SpillElementAt(int index) { |
if (elements_[index].is_register()) { |
Unuse(elements_[index].reg()); |
} |
- new_element.set_static_type(elements_[index].static_type()); |
elements_[index] = new_element; |
} |
@@ -211,9 +209,6 @@ void VirtualFrame::PrepareMergeTo(VirtualFrame* expected) { |
ASSERT(source.is_valid()); |
elements_[i].clear_sync(); |
} |
- // No code needs to be generated to change the static type of an |
- // element. |
- elements_[i].set_static_type(target.static_type()); |
} |
} |
@@ -246,11 +241,8 @@ void VirtualFrame::PrepareForCall(int spilled_args, int dropped_args) { |
void VirtualFrame::PrepareForReturn() { |
// Spill all locals. This is necessary to make sure all locals have |
// the right value when breaking at the return site in the debugger. |
- // Set their static type to unknown so that they will match the known |
- // return frame. |
for (int i = 0; i < expression_base_index(); i++) { |
SpillElementAt(i); |
- elements_[i].set_static_type(StaticType::unknown()); |
} |
} |
@@ -283,7 +275,6 @@ void VirtualFrame::SetElementAt(int index, Result* value) { |
// register element, or the new element at frame_index, must be made |
// a copy. |
int i = register_location(value->reg()); |
- ASSERT(value->static_type() == elements_[i].static_type()); |
if (i < frame_index) { |
// The register FrameElement is lower in the frame than the new copy. |
@@ -310,8 +301,7 @@ void VirtualFrame::SetElementAt(int index, Result* value) { |
Use(value->reg(), frame_index); |
elements_[frame_index] = |
FrameElement::RegisterElement(value->reg(), |
- FrameElement::NOT_SYNCED, |
- value->static_type()); |
+ FrameElement::NOT_SYNCED); |
} |
} else { |
ASSERT(value->is_constant()); |
@@ -328,18 +318,16 @@ void VirtualFrame::PushFrameSlotAt(int index) { |
} |
-void VirtualFrame::Push(Register reg, StaticType static_type) { |
+void VirtualFrame::Push(Register reg) { |
if (is_used(reg)) { |
int index = register_location(reg); |
FrameElement element = CopyElementAt(index); |
- ASSERT(static_type.merge(element.static_type()) == element.static_type()); |
elements_.Add(element); |
} else { |
Use(reg, element_count()); |
FrameElement element = |
FrameElement::RegisterElement(reg, |
- FrameElement::NOT_SYNCED, |
- static_type); |
+ FrameElement::NOT_SYNCED); |
elements_.Add(element); |
} |
} |