archives

« Bugzilla Issues Index

#3102 — Updates to arguments/caller poisoning on new syntactic forms


Resolution from last f2f:

- Get rid of all poisoned caller and arguments, except for the poisoned caller and arguments on Function.prototype
- All functions born of non-legacy function syntactic forms do not have caller and arguments properties


The legacy caller and arguments are a hazzard and were forbidden by ES5 for strict mode functions by defining strict functions to have non-configurable methods with these names that are always throw when called.

Built-ins, including Function.prototype also have such "poison pill" 'caller' and 'arguments' method.