Improved performance of Array.prototype.concat by moving the implementation to C++ (issue 123).

Fixed heap growth policy to avoid growing old space to its maximum capacity before doing a garbage collection and fixed issue that would lead to artificial out of memory situations (issue 129).

Fixed Date.prototype.toLocaleDateString to return the date in the same format as WebKit.

Added missing initialization checks to debugger API.

Added removing of unused maps during GC.


git-svn-id: http://v8.googlecode.com/svn/trunk@655 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
diff --git a/src/stub-cache-ia32.cc b/src/stub-cache-ia32.cc
index f59ed57..66e12d4 100644
--- a/src/stub-cache-ia32.cc
+++ b/src/stub-cache-ia32.cc
@@ -185,7 +185,8 @@
                                             Label* miss) {
   Label load_length, check_wrapper;
 
-  // Check if the object is a string.
+  // Check if the object is a string leaving the instance type in the
+  // scratch register.
   GenerateStringCheck(masm, receiver, scratch, miss, &check_wrapper);
 
   // Load length directly from the string.
@@ -200,7 +201,7 @@
 
   // Check if the object is a JSValue wrapper.
   __ bind(&check_wrapper);
-  __ cmp(receiver, JS_VALUE_TYPE);
+  __ cmp(scratch, JS_VALUE_TYPE);
   __ j(not_equal, miss, not_taken);
 
   // Check if the wrapped value is a string and load the length