mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-11-02 15:15:23 +00:00
1b01852975
Bug #14462, lot's of discussin there about these changes, but here's Brendan's description : In order, changes in the patch are: - Rename JSSLOT_ITR_STATE to be JSSLOT_ITER_STATE (avoid cybercrud abbreviation as cbrcrd, no more six-char id limits!). - Property cache tests must occur with the object's scope-lock held, to close a race with delete (js_DestroyProperty, always called with the property's scope locked). Once the cache has been hit, and before the lock is released, the property's refcount must be bumped. This requires re-acquisition of the lock and js_DropScopeProperty afterward. - Reworked js_FindProperty to use a do-while loop, as cx->fp->scopeChain must be non-null. This avoids a gratuitous lastobj init done to "Suppress gcc warning" in the old revision. - Akin to the property cache hit cases in jsinterp.c and jsobj.c's js_FindProperty, code to hold and drop the scope-property by its refcount that was #ifdef JS_THREADSAFE must be unconditional, now that user-defined getters and setters may delete the property id they're getting or setting. - Fixed overlong continuation line in jsobj.h. /be |
||
---|---|---|
.. | ||
benchmarks | ||
js2 | ||
jsd | ||
jsdj | ||
jsj | ||
macbuild | ||
ref | ||
rhino | ||
semantics | ||
src | ||
tests | ||
.cvsignore | ||
landbranch.pl | ||
Makefile.in | ||
makefile.win |