Index: src/ia32/virtual-frame-ia32.cc |
=================================================================== |
--- src/ia32/virtual-frame-ia32.cc (revision 1900) |
+++ src/ia32/virtual-frame-ia32.cc (working copy) |
@@ -623,6 +623,12 @@ |
InvalidateFrameSlotAt(index); |
+ // InvalidateFrameSlotAt can potentially change any frame element, due |
+ // to spilling registers to allocate temporaries in order to preserve |
+ // the copy-on-write semantics of aliased elements. Reload top from |
+ // the frame. |
+ top = elements_[top_index]; |
+ |
if (top.is_copy()) { |
// There are two cases based on the relative positions of the |
// stored-to slot and the backing slot of the top element. |