summaryrefslogtreecommitdiffstats
path: root/mozilla-696393.patch
diff options
context:
space:
mode:
Diffstat (limited to 'mozilla-696393.patch')
-rw-r--r--mozilla-696393.patch65
1 files changed, 0 insertions, 65 deletions
diff --git a/mozilla-696393.patch b/mozilla-696393.patch
index 8859d97..26c558f 100644
--- a/mozilla-696393.patch
+++ b/mozilla-696393.patch
@@ -1,68 +1,3 @@
-diff -up xulrunner-9.0/mozilla-beta/xpcom/reflect/xptcall/src/md/unix/xptcinvoke_linux_s390.cpp.696393 xulrunner-9.0/mozilla-beta/xpcom/reflect/xptcall/src/md/unix/xptcinvoke_linux_s390.cpp
---- xulrunner-9.0/mozilla-beta/xpcom/reflect/xptcall/src/md/unix/xptcinvoke_linux_s390.cpp.696393 2011-12-07 07:28:08.000000000 +0100
-+++ xulrunner-9.0/mozilla-beta/xpcom/reflect/xptcall/src/md/unix/xptcinvoke_linux_s390.cpp 2011-12-09 15:06:10.584998410 +0100
-@@ -200,52 +200,21 @@ invoke_copy_to_stack(PRUint32 paramCount
- }
- }
-
-+typedef nsresult (*vtable_func)(nsISupports *, PRUint32, PRUint32, PRUint32, PRUint32, double, double);
-+
- EXPORT_XPCOM_API(nsresult)
- NS_InvokeByIndex(nsISupports* that, PRUint32 methodIndex,
- PRUint32 paramCount, nsXPTCVariant* params)
- {
-- PRUint32 *vtable = *(PRUint32 **)that;
-- PRUint32 method = vtable[methodIndex];
-+ vtable_func *vtable = *reinterpret_cast<vtable_func **>(that);
-+ vtable_func method = vtable[methodIndex];
- PRUint32 overflow = invoke_count_words (paramCount, params);
-- PRUint32 result;
--
-- __asm__ __volatile__
-- (
-- "lr 7,15\n\t"
-- "ahi 7,-32\n\t"
--
-- "lr 3,%3\n\t"
-- "sll 3,2\n\t"
-- "lcr 3,3\n\t"
-- "l 2,0(15)\n\t"
-- "la 15,0(3,7)\n\t"
-- "st 2,0(15)\n\t"
-+ PRUint32 *stack_space = reinterpret_cast<PRUint32 *>(__builtin_alloca((overflow + 8 /* 4 32-bits gpr + 2 64-bits fpr */) * 4));
-
-- "lr 2,%1\n\t"
-- "lr 3,%2\n\t"
-- "la 4,96(15)\n\t"
-- "lr 5,%3\n\t"
-- "basr 14,%4\n\t"
-+ invoke_copy_to_stack(paramCount, params, stack_space, overflow);
-
-- "lr 2,%5\n\t"
-- "ld 0,112(7)\n\t"
-- "ld 2,120(7)\n\t"
-- "lm 3,6,96(7)\n\t"
-- "basr 14,%6\n\t"
-+ PRUint32 *d_gpr = stack_space + overflow;
-+ double *d_fpr = reinterpret_cast<double *>(d_gpr + 4);
-
-- "la 15,32(7)\n\t"
--
-- "lr %0,2\n\t"
-- : "=r" (result)
-- : "r" (paramCount),
-- "r" (params),
-- "r" (overflow),
-- "a" (invoke_copy_to_stack),
-- "a" (that),
-- "a" (method)
-- : "2", "3", "4", "5", "6", "7", "14", "cc", "memory", "%f0", "%f2"
-- );
--
-- return result;
-+ return method(that, d_gpr[0], d_gpr[1], d_gpr[2], d_gpr[3], d_fpr[0], d_fpr[1]);
- }
--
diff -up xulrunner-9.0/mozilla-beta/xpcom/reflect/xptcall/src/md/unix/xptcinvoke_linux_s390x.cpp.696393 xulrunner-9.0/mozilla-beta/xpcom/reflect/xptcall/src/md/unix/xptcinvoke_linux_s390x.cpp
--- xulrunner-9.0/mozilla-beta/xpcom/reflect/xptcall/src/md/unix/xptcinvoke_linux_s390x.cpp.696393 2011-12-07 07:28:08.000000000 +0100
+++ xulrunner-9.0/mozilla-beta/xpcom/reflect/xptcall/src/md/unix/xptcinvoke_linux_s390x.cpp 2011-12-09 15:07:07.609097348 +0100