Status: New
Owner: ----

New issue 1548 by [email protected]: The 'caller' and 'arguments' properties on built-in functions can't be neutered.
http://code.google.com/p/v8/issues/detail?id=1548

The Ecma committee's "Recommendation for Implementors" includes <http://wiki.ecmascript.org/doku.php?id=conventions:make_non-standard_properties_configurable>, which recommends that non-standard properties be configurable, so that a repair script can remove or otherwise repair these properties on initializing a frame. For example, such an initialization could poison 'caller' and 'arguments' itself by installing appropriate getters and setters. For 'caller' and 'arguments' specifically, if they are already poisoned then this recommendation recognizes that they don't need to be configurable.

test_BUILTIN_LEAKS_CALLER, currently at <http://code.google.com/p/es-lab/source/browse/trunk/src/ses/repairES5.js#489> or in the attachment, checks whether an implementation follows that recommendation for 'caller'. A similar check for 'arguments' appears below it. FF5, FF8a1, Safari Version 5.0.5 (5533.21.1), and WebKit Nightly Version 5.0.5 (5533.21.1, r90681) all pass these two tests (though of course they fail others in this file). Of these browsers, only Chrome fails this test. The corresponding closed FF bug is <https://bugzilla.mozilla.org/show_bug.cgi?id=591846> but is broader.

Please label this bug with the ES5 tag. Thanks.

Attachments:
        repairES5.js  40.3 KB

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

Reply via email to