Reviewers: Rico,

Description:
Merge revision 3913 and 3914 to trunk to fix assertion failures.

Please review this at http://codereview.chromium.org/650027

SVN Base: http://v8.googlecode.com/svn/trunk/

Affected files:
  M     src/objects.cc
  M     src/runtime.cc
  M     src/version.cc


Index: src/objects.cc
===================================================================
--- src/objects.cc      (revision 3912)
+++ src/objects.cc      (working copy)
@@ -261,6 +261,7 @@
                                                   name,
                                                   attributes);
         }
+        break;
       }
       default:
         UNREACHABLE();
Index: src/runtime.cc
===================================================================
--- src/runtime.cc      (revision 3912)
+++ src/runtime.cc      (working copy)
@@ -2960,8 +2960,6 @@
   // Check if the given key is an array index.
   uint32_t index;
   if (Array::IndexFromObject(*key, &index)) {
-    ASSERT(attr == NONE);
-
// In Firefox/SpiderMonkey, Safari and Opera you can access the characters
     // of a string using [] notation.  We need to support this too in
     // JavaScript.
@@ -2981,7 +2979,6 @@
   if (key->IsString()) {
     Handle<Object> result;
     if (Handle<String>::cast(key)->AsArrayIndex(&index)) {
-      ASSERT(attr == NONE);
       result = SetElement(js_object, index, value);
     } else {
       Handle<String> key_string = Handle<String>::cast(key);
@@ -2999,7 +2996,6 @@
   Handle<String> name = Handle<String>::cast(converted);

   if (name->AsArrayIndex(&index)) {
-    ASSERT(attr == NONE);
     return js_object->SetElement(index, *value);
   } else {
     return js_object->SetProperty(*name, *value, attr);
@@ -3016,8 +3012,6 @@
   // Check if the given key is an array index.
   uint32_t index;
   if (Array::IndexFromObject(*key, &index)) {
-    ASSERT(attr == NONE);
-
// In Firefox/SpiderMonkey, Safari and Opera you can access the characters
     // of a string using [] notation.  We need to support this too in
     // JavaScript.
@@ -3034,7 +3028,6 @@

   if (key->IsString()) {
     if (Handle<String>::cast(key)->AsArrayIndex(&index)) {
-      ASSERT(attr == NONE);
       return js_object->SetElement(index, *value);
     } else {
       Handle<String> key_string = Handle<String>::cast(key);
@@ -3052,7 +3045,6 @@
   Handle<String> name = Handle<String>::cast(converted);

   if (name->AsArrayIndex(&index)) {
-    ASSERT(attr == NONE);
     return js_object->SetElement(index, *value);
   } else {
return js_object->IgnoreAttributesAndSetLocalProperty(*name, *value, attr);
Index: src/version.cc
===================================================================
--- src/version.cc      (revision 3912)
+++ src/version.cc      (working copy)
@@ -35,7 +35,7 @@
 #define MAJOR_VERSION     2
 #define MINOR_VERSION     1
 #define BUILD_NUMBER      1
-#define PATCH_LEVEL       0
+#define PATCH_LEVEL       1
 #define CANDIDATE_VERSION false

 // Define SONAME to have the SCons build the put a specific SONAME into the


--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev

Reply via email to