Bug 554955: Give blocks and call objects unique shapes when they have parents that may be extended with new bindings. r=jorendorff
The comments for js::Bindings::extensibleParents explain why this is necessary.
AssertValidPropertyCacheHit should have been catching this bug, but for
reasons I don't understand, it is restricted from checking this case. This
patch extends it to assert when the bug is detected.
I've gathered the infallible parts of the initialization for Call objects
and cloned block objects into their own functions.
-- http://hg.mozilla.org/tracemonkey/rev/297b1312f534
This work speaks of infallibility, bringing with it the unasked question of whether any mortal artifact can indeed possess such quality. Its use of technical vocabulary specific to the language of the project at once both clarifies and obfuscates its point.