diff options
Diffstat (limited to 'www/firefox-esr/files/patch-ff-474536')
-rw-r--r-- | www/firefox-esr/files/patch-ff-474536 | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/www/firefox-esr/files/patch-ff-474536 b/www/firefox-esr/files/patch-ff-474536 new file mode 100644 index 000000000000..7c9bb70ee2d6 --- /dev/null +++ b/www/firefox-esr/files/patch-ff-474536 @@ -0,0 +1,28 @@ +diff -U 8 -p -r3.181.2.104 jsinterp.c +--- js/src/jsinterp.c 20 Oct 2008 15:43:57 -0000 3.181.2.104 ++++ js/src/jsinterp.c 2 Apr 2009 14:44:48 -0000 +@@ -4722,21 +4722,21 @@ interrupt: + + /* + * Try to optimize a property we either just created, or found + * directly in the global object, that is permanent, has a slot, + * and has stub getter and setter, into a "fast global" accessed + * by the JSOP_*GVAR opcodes. + */ + if (atomIndex < script->numGlobalVars && +- (attrs & JSPROP_PERMANENT) && + obj2 == obj && + OBJ_IS_NATIVE(obj)) { + sprop = (JSScopeProperty *) prop; +- if (SPROP_HAS_VALID_SLOT(sprop, OBJ_SCOPE(obj)) && ++ if ((sprop->attrs & JSPROP_PERMANENT) && ++ SPROP_HAS_VALID_SLOT(sprop, OBJ_SCOPE(obj)) && + SPROP_HAS_STUB_GETTER(sprop) && + SPROP_HAS_STUB_SETTER(sprop)) { + /* + * Fast globals use fp->vars to map the global name's + * atomIndex to the permanent fp->varobj slot number, + * tagged as a jsval. The atomIndex for the global's + * name literal is identical to its fp->vars index. + */ + |