Overwriting arguments.callee and arguments.length changes enumerability

RESOLVED DUPLICATE of bug 649567

Status

()

Core
JavaScript Engine
RESOLVED DUPLICATE of bug 649567
7 years ago
7 years ago

People

(Reporter: Waldo, Unassigned)

Tracking

(Blocks: 1 bug)

Trunk
Points:
---

Firefox Tracking Flags

(Not tracked)

Details

[jwalden@find-waldo-now src]$ dbg/js
js> function f() { return arguments; }
js> var a = f()
js> a.propertyIsEnumerable("length")
false
js> a.length = 17
17
js> a.propertyIsEnumerable("length")
true
js> a.propertyIsEnumerable("callee")
false
js> a.callee = 42
42
js> a.propertyIsEnumerable("callee")
true

I thought we fixed this in mid-April, but maybe we didn't, or this is a different facet of the problem.

This causes two test262 failures:

10.6-13-a-1	In non-strict mode, arguments object should have its own 'callee' property defined (Step 13.a)	fail
10.6-7-1	Arguments Object has length as its own property and does not invoke the setter defined on Object.prototype.length (Step 7)	fail
Status: NEW → RESOLVED
Last Resolved: 7 years ago
Resolution: --- → DUPLICATE
Duplicate of bug: 649567
You need to log in before you can comment on or make changes to this bug.