[ES5] Made properties of the arguments array enumerable.

Review URL: http://codereview.chromium.org/200141


git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2897 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
parent 1b812fb3
......@@ -531,14 +531,7 @@ Handle<FixedArray> GetKeysInFixedArrayFor(Handle<JSObject> object,
KeyCollectionType type) {
Handle<FixedArray> content = Factory::empty_fixed_array();
JSObject* arguments_boilerplate =
Top::context()->global_context()->arguments_boilerplate();
JSFunction* arguments_function =
JSFunction::cast(arguments_boilerplate->map()->constructor());
bool allow_enumeration = (object->map()->constructor() != arguments_function);
// Only collect keys if access is permitted.
if (allow_enumeration) {
for (Handle<Object> p = object;
*p != Heap::null_value();
p = Handle<Object>(p->GetPrototype())) {
......@@ -582,7 +575,6 @@ Handle<FixedArray> GetKeysInFixedArrayFor(Handle<JSObject> object,
if (type == LOCAL_ONLY)
break;
}
}
return content;
}
......
......@@ -42,11 +42,11 @@ function setArgumentCount() {
}
assertEquals(0, countArguments());
assertEquals(0, countArguments(1));
assertEquals(0, countArguments(1, 2));
assertEquals(0, countArguments(1, 2, 3, 4, 5));
assertEquals(1, countArguments(1));
assertEquals(2, countArguments(1, 2));
assertEquals(5, countArguments(1, 2, 3, 4, 5));
assertEquals(0, setArgumentCount());
assertEquals(0, setArgumentCount(1));
assertEquals(0, setArgumentCount(1, 2));
assertEquals(0, setArgumentCount(1, 2, 3, 4, 5));
assertEquals(2, setArgumentCount());
assertEquals(3, setArgumentCount(1));
assertEquals(4, setArgumentCount(1, 2));
assertEquals(7, setArgumentCount(1, 2, 3, 4, 5));
......@@ -52,7 +52,7 @@ assertEquals(Object.keys(x), []);
assertEquals(Object.keys(function () {}), []);
function argsTest(a, b, c) {
assertEquals([], Object.keys(arguments));
assertEquals([0, 1, 2], Object.keys(arguments));
}
argsTest(1, 2, 3);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment