Revision: 3914
Author: [email protected]
Date: Fri Feb 19 04:16:00 2010
Log: 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
http://code.google.com/p/v8/source/detail?r=3914
Modified:
/branches/bleeding_edge/src/runtime.cc
=======================================
--- /branches/bleeding_edge/src/runtime.cc Thu Feb 18 07:10:35 2010
+++ /branches/bleeding_edge/src/runtime.cc Fri Feb 19 04:16:00 2010
@@ -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);
--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev