Fixed crash-bug in the code generation for case independent 16 bit backreferences.

Made shells more robust in the presence of string conversion failures (issue 224).

Fixed a potential infinite loop when attempting to resolve eval (issue 221).

Miscellaneous fixes to the new regular expression engine.

Reduced binary by stripping unneeded text from JavaScript library and minifying some JavaScript files.


git-svn-id: http://v8.googlecode.com/svn/trunk@1243 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
diff --git a/src/codegen-arm.cc b/src/codegen-arm.cc
index c06e848..fa289fc 100644
--- a/src/codegen-arm.cc
+++ b/src/codegen-arm.cc
@@ -1144,15 +1144,15 @@
   }
 
   if (val != NULL) {
-    // Set initial value.
-    Reference target(this, node->proxy());
-    ASSERT(target.is_slot());
-    Load(val);
-    target.SetValue(NOT_CONST_INIT);
-    // Get rid of the assigned value (declarations are statements).  It's
-    // safe to pop the value lying on top of the reference before unloading
-    // the reference itself (which preserves the top of stack) because we
-    // know it is a zero-sized reference.
+    {
+      // Set initial value.
+      Reference target(this, node->proxy());
+      Load(val);
+      target.SetValue(NOT_CONST_INIT);
+      // The reference is removed from the stack (preserving TOS) when
+      // it goes out of scope.
+    }
+    // Get rid of the assigned value (declarations are statements).
     frame_->Pop();
   }
 }