Chromium Code Reviews| 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()); |