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