Index: src/ia32/virtual-frame-ia32.cc |
diff --git a/src/ia32/virtual-frame-ia32.cc b/src/ia32/virtual-frame-ia32.cc |
index 53cdd5a5dda8909deea067d2bfefbbf296dec8ed..b26cf745beaf96729e472b932ce38e0843d7031c 100644 |
--- a/src/ia32/virtual-frame-ia32.cc |
+++ b/src/ia32/virtual-frame-ia32.cc |
@@ -218,10 +218,8 @@ void VirtualFrame::MakeMergable() { |
} |
} |
} |
- // No need to set the copied flag---there are no copies. |
- |
- // Backwards jump targets can never know the type of a value. |
- elements_[i].set_static_type(StaticType::unknown()); |
+ // No need to set the copied flag---there are no copies of |
+ // copies or constants so the original was not copied. |
Erik Corry
2009/06/24 11:46:35
Copies of copies?
Lasse Reichstein
2009/06/24 12:33:07
Bad merge. I'll restore the original.
|
} else { |
// Clear the copy flag of non-constant, non-copy elements. |
// They cannot be copied because copies are not allowed. |
@@ -999,7 +997,6 @@ Result VirtualFrame::Pop() { |
if (element.is_memory()) { |
Result temp = cgen()->allocator()->Allocate(); |
ASSERT(temp.is_valid()); |
- temp.set_static_type(element.static_type()); |
__ pop(temp.reg()); |
return temp; |
} |
@@ -1031,12 +1028,11 @@ Result VirtualFrame::Pop() { |
FrameElement::RegisterElement(temp.reg(), FrameElement::SYNCED); |
// Preserve the copy flag on the element. |
if (element.is_copied()) new_element.set_copied(); |
- new_element.set_static_type(element.static_type()); |
elements_[index] = new_element; |
__ mov(temp.reg(), Operand(ebp, fp_relative(index))); |
- return Result(temp.reg(), element.static_type()); |
+ return Result(temp.reg()); |
} else if (element.is_register()) { |
- return Result(element.reg(), element.static_type()); |
+ return Result(element.reg()); |
} else { |
ASSERT(element.is_constant()); |
return Result(element.handle()); |