From: ricow@chromium.org Date: Fri, 19 Feb 2010 12:16:00 +0000 (+0000) Subject: Removed asserts on attributes when setting elements. Will file a bug on not handling... X-Git-Tag: upstream/4.7.83~22432 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=24011207c65e7e08e4009187433ea17e1b56090c;p=platform%2Fupstream%2Fv8.git Removed asserts on attributes when setting elements. Will file a bug on not handling elements correctly when using Object.defineProperty Review URL: http://codereview.chromium.org/651025 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3914 ce2b1a6d-e550-0410-aec6-3dcde31c8c00 --- diff --git a/src/runtime.cc b/src/runtime.cc index b1d6024..38e332b 100644 --- a/src/runtime.cc +++ b/src/runtime.cc @@ -2960,8 +2960,6 @@ Object* Runtime::SetObjectProperty(Handle object, // 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 @@ Object* Runtime::SetObjectProperty(Handle object, if (key->IsString()) { Handle result; if (Handle::cast(key)->AsArrayIndex(&index)) { - ASSERT(attr == NONE); result = SetElement(js_object, index, value); } else { Handle key_string = Handle::cast(key); @@ -2999,7 +2996,6 @@ Object* Runtime::SetObjectProperty(Handle object, Handle name = Handle::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 @@ Object* Runtime::ForceSetObjectProperty(Handle js_object, // 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 @@ Object* Runtime::ForceSetObjectProperty(Handle js_object, if (key->IsString()) { if (Handle::cast(key)->AsArrayIndex(&index)) { - ASSERT(attr == NONE); return js_object->SetElement(index, *value); } else { Handle key_string = Handle::cast(key); @@ -3052,7 +3045,6 @@ Object* Runtime::ForceSetObjectProperty(Handle js_object, Handle name = Handle::cast(converted); if (name->AsArrayIndex(&index)) { - ASSERT(attr == NONE); return js_object->SetElement(index, *value); } else { return js_object->IgnoreAttributesAndSetLocalProperty(*name, *value, attr);