27 lines
872 B
Diff
27 lines
872 B
Diff
|
diff --git a/js/xpconnect/src/XPCWrappedNative.cpp b/js/xpconnect/src/XPCWrappedNative.cpp
|
||
|
--- a/js/xpconnect/src/XPCWrappedNative.cpp
|
||
|
+++ b/js/xpconnect/src/XPCWrappedNative.cpp
|
||
|
@@ -1157,6 +1157,10 @@
|
||
|
return helper.get().Call();
|
||
|
}
|
||
|
|
||
|
+#if (__GNUC__ && __linux__ && __PPC64__ && _LITTLE_ENDIAN)
|
||
|
+// Work around a compiler bug on ppc64le (bug 1512162).
|
||
|
+__attribute__ ((noinline,noclone))
|
||
|
+#endif
|
||
|
bool CallMethodHelper::Call() {
|
||
|
mCallContext.SetRetVal(JS::UndefinedValue());
|
||
|
|
||
|
@@ -1315,6 +1319,10 @@
|
||
|
return true;
|
||
|
}
|
||
|
|
||
|
+#if (__GNUC__ && __linux__ && __PPC64__ && _LITTLE_ENDIAN)
|
||
|
+// Work around a compiler bug on ppc64le (bug 1512162).
|
||
|
+__attribute__ ((noinline,noclone))
|
||
|
+#endif
|
||
|
bool CallMethodHelper::GatherAndConvertResults() {
|
||
|
// now we iterate through the native params to gather and convert results
|
||
|
uint8_t paramCount = mMethodInfo->GetParamCount();
|
||
|
|