aboutsummaryrefslogtreecommitdiff
path: root/www/firefox/files/patch-ff-474536
diff options
context:
space:
mode:
Diffstat (limited to 'www/firefox/files/patch-ff-474536')
-rw-r--r--www/firefox/files/patch-ff-47453628
1 files changed, 28 insertions, 0 deletions
diff --git a/www/firefox/files/patch-ff-474536 b/www/firefox/files/patch-ff-474536
new file mode 100644
index 000000000000..7c9bb70ee2d6
--- /dev/null
+++ b/www/firefox/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.
+ */
+