[webkitgtk3] Update to 2.3.2

Tomas Popela tpopela at fedoraproject.org
Thu Dec 5 16:07:46 UTC 2013


commit 593b017c8fb5b5fb1b34bcb19d58d1a60bed7860
Author: Tomas Popela <tpopela at redhat.com>
Date:   Thu Dec 5 17:07:29 2013 +0100

    Update to 2.3.2

 webkitgtk-2.1.1-yarr.patch      |   12 --
 webkitgtk-2.3.2-libatomic.patch |   19 ++
 webkitgtk-2.3.2-no_jit_1.patch  |   51 ++++++
 webkitgtk-2.3.2-no_jit_2.patch  |   32 ++++
 webkitgtk-2.3.2-no_jit_3.patch  |  349 +++++++++++++++++++++++++++++++++++++++
 webkitgtk-2.3.2-no_jit_4.patch  |   31 ++++
 webkitgtk3.spec                 |   41 ++++-
 7 files changed, 516 insertions(+), 19 deletions(-)
---
diff --git a/webkitgtk-2.3.2-libatomic.patch b/webkitgtk-2.3.2-libatomic.patch
new file mode 100644
index 0000000..307a812
--- /dev/null
+++ b/webkitgtk-2.3.2-libatomic.patch
@@ -0,0 +1,19 @@
+diff -up webkitgtk-2.3.2/Source/WTF/wtf/Atomics.h.libatomic webkitgtk-2.3.2/Source/WTF/wtf/Atomics.h
+--- webkitgtk-2.3.2/Source/WTF/wtf/Atomics.h.libatomic	2013-12-05 15:43:22.160186327 +0100
++++ webkitgtk-2.3.2/Source/WTF/wtf/Atomics.h	2013-12-05 15:44:02.630264977 +0100
+@@ -101,11 +101,11 @@ inline int atomicDecrement(int volatile*
+ 
+ #elif COMPILER(GCC)
+ 
+-inline int atomicIncrement(int volatile* addend) { return __sync_add_and_fetch(addend, 1); }
+-inline int atomicDecrement(int volatile* addend) { return __sync_sub_and_fetch(addend, 1); }
++inline int atomicIncrement(int volatile* addend) { return __atomic_fetch_add(addend, 1, __ATOMIC_ACQ_REL); }
++inline int atomicDecrement(int volatile* addend) { return __atomic_fetch_sub(addend, 1, __ATOMIC_ACQ_REL); }
+ 
+-inline int64_t atomicIncrement(int64_t volatile* addend) { return __sync_add_and_fetch(addend, 1); }
+-inline int64_t atomicDecrement(int64_t volatile* addend) { return __sync_sub_and_fetch(addend, 1); }
++inline int64_t atomicIncrement(int64_t volatile* addend) { return __atomic_fetch_add(addend, 1, __ATOMIC_ACQ_REL); }
++inline int64_t atomicDecrement(int64_t volatile* addend) { return __atomic_fetch_sub(addend, 1, __ATOMIC_ACQ_REL); }
+ 
+ #endif
+ 
diff --git a/webkitgtk-2.3.2-no_jit_1.patch b/webkitgtk-2.3.2-no_jit_1.patch
new file mode 100644
index 0000000..540b196
--- /dev/null
+++ b/webkitgtk-2.3.2-no_jit_1.patch
@@ -0,0 +1,51 @@
+diff --git a/Source/JavaScriptCore/bytecode/ValueRecovery.cpp b/Source/JavaScriptCore/bytecode/ValueRecovery.cpp
+index 221b175d062ee4b2a396d781ccd1973796213a77..c30e2aef32ea5d17804c16dd5b7bee2f359f1105 100644
+--- a/Source/JavaScriptCore/bytecode/ValueRecovery.cpp
++++ b/Source/JavaScriptCore/bytecode/ValueRecovery.cpp
+@@ -60,6 +60,8 @@ JSValue ValueRecovery::recover(ExecState* exec) const
+     }
+ }
+ 
++#if ENABLE(JIT)
++
+ void ValueRecovery::dumpInContext(PrintStream& out, DumpContext* context) const
+ {
+     switch (technique()) {
+@@ -130,6 +132,7 @@ void ValueRecovery::dump(PrintStream& out) const
+ {
+     dumpInContext(out, 0);
+ }
++#endif // ENABLE(JIT)
+ 
+ } // namespace JSC
+ 
+diff --git a/Source/JavaScriptCore/bytecode/ValueRecovery.h b/Source/JavaScriptCore/bytecode/ValueRecovery.h
+index 7127db703f52ec5668fb8da3d1fae08fcf14162d..dc2d55a289b394ea360a8589d517019b2d2214a9 100644
+--- a/Source/JavaScriptCore/bytecode/ValueRecovery.h
++++ b/Source/JavaScriptCore/bytecode/ValueRecovery.h
+@@ -27,12 +27,13 @@
+ #define ValueRecovery_h
+ 
+ #include "DataFormat.h"
++#if ENABLE(JIT)
+ #include "GPRInfo.h"
+ #include "FPRInfo.h"
++#endif
+ #include "JSCJSValue.h"
+ #include "MacroAssembler.h"
+ #include "VirtualRegister.h"
+-#include <stdio.h>
+ #include <wtf/Platform.h>
+ 
+ namespace JSC {
+@@ -246,8 +247,10 @@ public:
+     
+     JSValue recover(ExecState*) const;
+     
++#if ENABLE(JIT)
+     void dumpInContext(PrintStream& out, DumpContext* context) const;
+     void dump(PrintStream& out) const;
++#endif
+ 
+ private:
+     ValueRecoveryTechnique m_technique;
diff --git a/webkitgtk-2.3.2-no_jit_2.patch b/webkitgtk-2.3.2-no_jit_2.patch
new file mode 100644
index 0000000..7b9d0b9
--- /dev/null
+++ b/webkitgtk-2.3.2-no_jit_2.patch
@@ -0,0 +1,32 @@
+diff --git a/Source/JavaScriptCore/llint/LLIntThunks.cpp b/Source/JavaScriptCore/llint/LLIntThunks.cpp
+index a7387d54c5ad5eedbffa142b94ca890732b11c9b..cd4e7c106c20337a8f45e11d212cdeee09b438e1 100644
+--- a/Source/JavaScriptCore/llint/LLIntThunks.cpp
++++ b/Source/JavaScriptCore/llint/LLIntThunks.cpp
+@@ -26,7 +26,7 @@
+ #include "config.h"
+ #include "LLIntThunks.h"
+ 
+-#if ENABLE(LLINT)
++#if ENABLE(LLINT) && ENABLE(JIT)
+ 
+ #include "JSInterfaceJIT.h"
+ #include "JSObject.h"
+@@ -36,8 +36,6 @@
+ 
+ namespace JSC { namespace LLInt {
+ 
+-#if !ENABLE(LLINT_C_LOOP)
+-
+ static MacroAssemblerCodeRef generateThunkWithJumpTo(VM* vm, void (*target)(), const char *thunkKind)
+ {
+     JSInterfaceJIT jit(vm);
+@@ -80,8 +78,6 @@ MacroAssemblerCodeRef programEntryThunkGenerator(VM* vm)
+     return generateThunkWithJumpTo(vm, llint_program_prologue, "program");
+ }
+ 
+-#endif // !ENABLE(LLINT_C_LOOP)
+-
+ } } // namespace JSC::LLInt
+ 
+-#endif // ENABLE(LLINT)
++#endif // ENABLE(LLINT) && ENABLE(JIT)
diff --git a/webkitgtk-2.3.2-no_jit_3.patch b/webkitgtk-2.3.2-no_jit_3.patch
new file mode 100644
index 0000000..ebfc4d4
--- /dev/null
+++ b/webkitgtk-2.3.2-no_jit_3.patch
@@ -0,0 +1,349 @@
+diff -up webkitgtk-2.3.2/Source/JavaScriptCore/assembler/LinkBuffer.cpp.no_jit_3 webkitgtk-2.3.2/Source/JavaScriptCore/assembler/LinkBuffer.cpp
+--- webkitgtk-2.3.2/Source/JavaScriptCore/assembler/LinkBuffer.cpp.no_jit_3	2013-11-12 08:53:56.000000000 +0100
++++ webkitgtk-2.3.2/Source/JavaScriptCore/assembler/LinkBuffer.cpp	2013-12-05 13:32:59.623494221 +0100
+@@ -49,7 +49,8 @@ LinkBuffer::CodeRef LinkBuffer::finalize
+     ASSERT(Options::showDisassembly() || Options::showDFGDisassembly());
+     
+     CodeRef result = finalizeCodeWithoutDisassembly();
+-    
++
++#if ENABLE(DISASSEMBLER)
+     dataLogF("Generated JIT code for ");
+     va_list argList;
+     va_start(argList, format);
+@@ -59,6 +60,9 @@ LinkBuffer::CodeRef LinkBuffer::finalize
+     
+     dataLogF("    Code at [%p, %p):\n", result.code().executableAddress(), static_cast<char*>(result.code().executableAddress()) + result.size());
+     disassemble(result.code(), m_size, "    ", WTF::dataFile());
++#else
++    UNUSED_PARAM(format);
++#endif // ENABLE(DISASSEMBLER)
+     
+     return result;
+ }
+diff -up webkitgtk-2.3.2/Source/JavaScriptCore/dfg/DFGDisassembler.cpp.no_jit_3 webkitgtk-2.3.2/Source/JavaScriptCore/dfg/DFGDisassembler.cpp
+--- webkitgtk-2.3.2/Source/JavaScriptCore/dfg/DFGDisassembler.cpp.no_jit_3	2013-11-18 08:40:24.000000000 +0100
++++ webkitgtk-2.3.2/Source/JavaScriptCore/dfg/DFGDisassembler.cpp	2013-12-05 13:32:59.623494221 +0100
+@@ -26,7 +26,7 @@
+ #include "config.h"
+ #include "DFGDisassembler.h"
+ 
+-#if ENABLE(DFG_JIT)
++#if ENABLE(DFG_JIT) && ENABLE(DISASSEMBLER)
+ 
+ #include "CodeBlockWithJITType.h"
+ #include "DFGGraph.h"
+@@ -172,4 +172,4 @@ void Disassembler::dumpDisassembly(Print
+ 
+ } } // namespace JSC::DFG
+ 
+-#endif // ENABLE(DFG_JIT)
++#endif // ENABLE(DFG_JIT) && ENABLE(DISASSEMBLER)
+diff -up webkitgtk-2.3.2/Source/JavaScriptCore/dfg/DFGDisassembler.h.no_jit_3 webkitgtk-2.3.2/Source/JavaScriptCore/dfg/DFGDisassembler.h
+--- webkitgtk-2.3.2/Source/JavaScriptCore/dfg/DFGDisassembler.h.no_jit_3	2013-08-03 18:10:38.000000000 +0200
++++ webkitgtk-2.3.2/Source/JavaScriptCore/dfg/DFGDisassembler.h	2013-12-05 13:32:59.623494221 +0100
+@@ -42,6 +42,8 @@ namespace JSC { namespace DFG {
+ 
+ class Graph;
+ 
++#if ENABLE(DISASSEMBLER)
++
+ class Disassembler {
+     WTF_MAKE_FAST_ALLOCATED;
+ public:
+@@ -97,6 +99,25 @@ private:
+     MacroAssembler::Label m_endOfCode;
+ };
+ 
++#else // ENABLE(DISASSEMBLER)
++
++class Disassembler {
++    WTF_MAKE_FAST_ALLOCATED;
++public:
++    Disassembler(Graph&) { }
++
++    void setStartOfCode(MacroAssembler::Label) { }
++    void setForBlockIndex(BlockIndex, MacroAssembler::Label) { }
++    void setForNode(Node*, MacroAssembler::Label) { }
++    void setEndOfMainPath(MacroAssembler::Label) { }
++    void setEndOfCode(MacroAssembler::Label) { }
++
++    void dump(LinkBuffer&) { }
++    void reportToProfiler(Profiler::Compilation*, LinkBuffer&) { }
++};
++
++#endif // ENABLE(DISASSEMBLER)
++
+ } } // namespace JSC::DFG
+ 
+ #endif // ENABLE(DFG_JIT)
+diff -up webkitgtk-2.3.2/Source/JavaScriptCore/disassembler/Disassembler.cpp.no_jit_3 webkitgtk-2.3.2/Source/JavaScriptCore/disassembler/Disassembler.cpp
+--- webkitgtk-2.3.2/Source/JavaScriptCore/disassembler/Disassembler.cpp.no_jit_3	2013-08-03 18:10:38.000000000 +0200
++++ webkitgtk-2.3.2/Source/JavaScriptCore/disassembler/Disassembler.cpp	2013-12-05 13:32:59.623494221 +0100
+@@ -26,6 +26,8 @@
+ #include "config.h"
+ #include "Disassembler.h"
+ 
++#if ENABLE(DISASSEMBLER)
++
+ #include "MacroAssemblerCodeRef.h"
+ #include <wtf/DataLog.h>
+ 
+@@ -41,3 +43,4 @@ void disassemble(const MacroAssemblerCod
+ 
+ } // namespace JSC
+ 
++#endif // ENABLE(DISASSEMBLER)
+diff -up webkitgtk-2.3.2/Source/JavaScriptCore/disassembler/X86Disassembler.cpp.no_jit_3 webkitgtk-2.3.2/Source/JavaScriptCore/disassembler/X86Disassembler.cpp
+--- webkitgtk-2.3.2/Source/JavaScriptCore/disassembler/X86Disassembler.cpp.no_jit_3	2013-08-03 18:10:38.000000000 +0200
++++ webkitgtk-2.3.2/Source/JavaScriptCore/disassembler/X86Disassembler.cpp	2013-12-05 13:32:59.623494221 +0100
+@@ -26,6 +26,7 @@
+ #include "config.h"
+ #include "Disassembler.h"
+ 
++#if ENABLE(DISASSEMBLER)
+ #if USE(UDIS86) || USE(LLVM_DISASSEMBLER)
+ 
+ #include "MacroAssemblerCodeRef.h"
+@@ -70,4 +71,4 @@ bool tryToDisassemble(const MacroAssembl
+ } // namespace JSC
+ 
+ #endif // USE(UDIS86) || USE(LLVM_DISASSEMBLER)
+-
++#endif // ENABLE(DISASSEMBLER)
+diff -up webkitgtk-2.3.2/Source/JavaScriptCore/jit/FPRInfo.h.no_jit_3 webkitgtk-2.3.2/Source/JavaScriptCore/jit/FPRInfo.h
+--- webkitgtk-2.3.2/Source/JavaScriptCore/jit/FPRInfo.h.no_jit_3	2013-11-15 11:39:11.000000000 +0100
++++ webkitgtk-2.3.2/Source/JavaScriptCore/jit/FPRInfo.h	2013-12-05 13:32:59.623494221 +0100
+@@ -34,6 +34,8 @@ namespace JSC {
+ typedef MacroAssembler::FPRegisterID FPRReg;
+ #define InvalidFPRReg ((::JSC::FPRReg)-1)
+ 
++#if ENABLE(JIT)
++
+ #if CPU(X86) || CPU(X86_64)
+ 
+ class FPRInfo {
+@@ -108,7 +110,7 @@ public:
+     static const unsigned InvalidIndex = 0xffffffff;
+ };
+ 
+-#endif
++#endif // CPU(X86) || CPU(X86_64)
+ 
+ #if CPU(ARM)
+ 
+@@ -172,7 +174,7 @@ public:
+     static const unsigned InvalidIndex = 0xffffffff;
+ };
+ 
+-#endif
++#endif // CPU(ARM)
+ 
+ #if CPU(ARM64)
+ 
+@@ -260,7 +262,7 @@ public:
+     static const unsigned InvalidIndex = 0xffffffff;
+ };
+ 
+-#endif
++#endif // CPU(ARM64)
+ 
+ #if CPU(MIPS)
+ 
+@@ -327,7 +329,7 @@ public:
+     static const unsigned InvalidIndex = 0xffffffff;
+ };
+ 
+-#endif
++#endif // CPU(MIPS)
+ 
+ #if CPU(SH4)
+ 
+@@ -389,7 +391,9 @@ public:
+     static const unsigned InvalidIndex = 0xffffffff;
+ };
+ 
+-#endif
++#endif // CPU(SH4)
++
++#endif // ENABLE(JIT)
+ 
+ } // namespace JSC
+ 
+diff -up webkitgtk-2.3.2/Source/JavaScriptCore/jit/GPRInfo.h.no_jit_3 webkitgtk-2.3.2/Source/JavaScriptCore/jit/GPRInfo.h
+--- webkitgtk-2.3.2/Source/JavaScriptCore/jit/GPRInfo.h.no_jit_3	2013-11-15 11:39:11.000000000 +0100
++++ webkitgtk-2.3.2/Source/JavaScriptCore/jit/GPRInfo.h	2013-12-05 13:32:59.623494221 +0100
+@@ -34,6 +34,8 @@ namespace JSC {
+ typedef MacroAssembler::RegisterID GPRReg;
+ #define InvalidGPRReg ((::JSC::GPRReg)-1)
+ 
++#if ENABLE(JIT)
++
+ #if USE(JSVALUE64)
+ class JSValueRegs {
+ public:
+@@ -125,7 +127,7 @@ private:
+     int32_t m_offset;
+     GPRReg m_base;
+ };
+-#endif
++#endif // USE(JSVALUE64)
+ 
+ #if USE(JSVALUE32_64)
+ class JSValueRegs {
+@@ -276,7 +278,7 @@ private:
+     int8_t m_payload; 
+     int8_t m_tagType; // Contains the low bits of the tag.
+ };
+-#endif
++#endif // USE(JSVALUE32_64)
+ 
+ // The baseline JIT requires that regT3 be callee-preserved.
+ 
+@@ -343,7 +345,7 @@ public:
+     static const unsigned InvalidIndex = 0xffffffff;
+ };
+ 
+-#endif
++#endif // CPU(X86)
+ 
+ #if CPU(X86_64)
+ #if !OS(WINDOWS)
+@@ -439,7 +441,7 @@ public:
+     static const unsigned InvalidIndex = 0xffffffff;
+ };
+ 
+-#endif
++#endif // CPU(X86_64)
+ 
+ #if CPU(ARM)
+ #define NUMBER_OF_ARGUMENT_REGISTERS 4u
+@@ -520,7 +522,7 @@ public:
+     static const unsigned InvalidIndex = 0xffffffff;
+ };
+ 
+-#endif
++#endif // CPU(ARM)
+ 
+ #if CPU(ARM64)
+ #define NUMBER_OF_ARGUMENT_REGISTERS 8u
+@@ -618,7 +620,7 @@ public:
+     static const unsigned InvalidIndex = 0xffffffff;
+ };
+ 
+-#endif
++#endif // CPU(ARM64)
+ 
+ #if CPU(MIPS)
+ #define NUMBER_OF_ARGUMENT_REGISTERS 4u
+@@ -694,7 +696,7 @@ public:
+     static const unsigned InvalidIndex = 0xffffffff;
+ };
+ 
+-#endif
++#endif // CPU(MIPS)
+ 
+ #if CPU(SH4)
+ #define NUMBER_OF_ARGUMENT_REGISTERS 4u
+@@ -764,7 +766,7 @@ public:
+     static const unsigned InvalidIndex = 0xffffffff;
+ };
+ 
+-#endif
++#endif // CPU(SH4)
+ 
+ // The baseline JIT uses "accumulator" style execution with regT0 (for 64-bit)
+ // and regT0 + regT1 (for 32-bit) serving as the accumulator register(s) for
+@@ -774,6 +776,8 @@ COMPILE_ASSERT(GPRInfo::regT0 == GPRInfo
+ COMPILE_ASSERT(GPRInfo::regT1 == GPRInfo::returnValueGPR2, regT1_must_equal_returnValueGPR2);
+ #endif
+ 
++#endif // ENABLE(JIT)
++
+ } // namespace JSC
+ 
+ namespace WTF {
+diff -up webkitgtk-2.3.2/Source/JavaScriptCore/jit/JITDisassembler.cpp.no_jit_3 webkitgtk-2.3.2/Source/JavaScriptCore/jit/JITDisassembler.cpp
+--- webkitgtk-2.3.2/Source/JavaScriptCore/jit/JITDisassembler.cpp.no_jit_3	2013-08-03 18:10:38.000000000 +0200
++++ webkitgtk-2.3.2/Source/JavaScriptCore/jit/JITDisassembler.cpp	2013-12-05 13:32:59.623494221 +0100
+@@ -1,5 +1,5 @@
+ /*
+- * Copyright (C) 2012 Apple Inc. All rights reserved.
++ * Copyright (C) 2012, 2013 Apple Inc. All rights reserved.
+  *
+  * Redistribution and use in source and binary forms, with or without
+  * modification, are permitted provided that the following conditions
+@@ -26,7 +26,7 @@
+ #include "config.h"
+ #include "JITDisassembler.h"
+ 
+-#if ENABLE(JIT)
++#if ENABLE(JIT) && ENABLE(DISASSEMBLER)
+ 
+ #include "CodeBlock.h"
+ #include "CodeBlockWithJITType.h"
+@@ -164,5 +164,5 @@ void JITDisassembler::dumpDisassembly(Pr
+ 
+ } // namespace JSC
+ 
+-#endif // ENABLE(JIT)
++#endif // ENABLE(JIT) && ENABLE(DISASSEMBLER)
+ 
+diff -up webkitgtk-2.3.2/Source/JavaScriptCore/jit/JITDisassembler.h.no_jit_3 webkitgtk-2.3.2/Source/JavaScriptCore/jit/JITDisassembler.h
+--- webkitgtk-2.3.2/Source/JavaScriptCore/jit/JITDisassembler.h.no_jit_3	2013-08-03 18:10:38.000000000 +0200
++++ webkitgtk-2.3.2/Source/JavaScriptCore/jit/JITDisassembler.h	2013-12-05 13:32:59.623494221 +0100
+@@ -39,6 +39,8 @@ namespace JSC {
+ 
+ class CodeBlock;
+ 
++#if ENABLE(DISASSEMBLER)
++
+ class JITDisassembler {
+     WTF_MAKE_FAST_ALLOCATED;
+ public:
+@@ -84,6 +86,25 @@ private:
+     MacroAssembler::Label m_endOfCode;
+ };
+ 
++#else // ENABLE(DISASSEMBLER)
++
++class JITDisassembler {
++    WTF_MAKE_FAST_ALLOCATED;
++public:
++    JITDisassembler(CodeBlock*) { }
++
++    void setStartOfCode(MacroAssembler::Label) { }
++    void setForBytecodeMainPath(unsigned, MacroAssembler::Label) { }
++    void setForBytecodeSlowPath(unsigned, MacroAssembler::Label) { }
++    void setEndOfSlowPath(MacroAssembler::Label) { }
++    void setEndOfCode(MacroAssembler::Label) { }
++
++    void dump(LinkBuffer&) { }
++    void reportToProfiler(Profiler::Compilation*, LinkBuffer&) { }
++};
++
++#endif // ENABLE(DISASSEMBLER)
++
+ } // namespace JSC
+ 
+ #endif // ENABLE(JIT)
+diff -up webkitgtk-2.3.2/Source/WTF/wtf/Platform.h.no_jit_3 webkitgtk-2.3.2/Source/WTF/wtf/Platform.h
+--- webkitgtk-2.3.2/Source/WTF/wtf/Platform.h.no_jit_3	2013-12-05 13:32:59.613494190 +0100
++++ webkitgtk-2.3.2/Source/WTF/wtf/Platform.h	2013-12-05 13:32:59.623494221 +0100
+@@ -868,6 +868,16 @@
+ #endif
+ #endif
+ 
++/* If the Disassembler is enabled, then the Assembler must be enabled as well: */
++#if ENABLE(DISASSEMBLER)
++#if defined(ENABLE_ASSEMBLER) && !ENABLE_ASSEMBLER
++#error "Cannot enable the Disassembler without enabling the Assembler"
++#else
++#undef ENABLE_ASSEMBLER
++#define ENABLE_ASSEMBLER 1
++#endif
++#endif
++
+ /* Pick which allocator to use; we only need an executable allocator if the assembler is compiled in.
+    On x86-64 we use a single fixed mmap, on other platforms we mmap on demand. */
+ #if ENABLE(ASSEMBLER)
diff --git a/webkitgtk-2.3.2-no_jit_4.patch b/webkitgtk-2.3.2-no_jit_4.patch
new file mode 100644
index 0000000..692ff21
--- /dev/null
+++ b/webkitgtk-2.3.2-no_jit_4.patch
@@ -0,0 +1,31 @@
+diff -up webkitgtk-2.3.2/Source/JavaScriptCore/llint/LowLevelInterpreter.asm.no_jit_4 webkitgtk-2.3.2/Source/JavaScriptCore/llint/LowLevelInterpreter.asm
+--- webkitgtk-2.3.2/Source/JavaScriptCore/llint/LowLevelInterpreter.asm.no_jit_4	2013-12-05 13:37:50.064205163 +0100
++++ webkitgtk-2.3.2/Source/JavaScriptCore/llint/LowLevelInterpreter.asm	2013-12-05 13:38:25.544272612 +0100
+@@ -426,12 +426,15 @@ macro doReturn()
+     ret
+ end
+ 
++if C_LOOP
++else
+ # stub to call into JavaScript
+ # EncodedJSValue callToJavaScript(void* code, Register* topOfStack)
+ # Note, if this stub or one of it's related macros is changed, make the
+ # equivalent changes in jit/JITStubsX86.h and/or jit/JITStubsMSVC64.asm
+ _callToJavaScript:
+     doCallToJavaScript()
++end
+ 
+ # Indicate the beginning of LLInt.
+ _llint_begin:
+diff -up webkitgtk-2.3.2/Source/JavaScriptCore/llint/LowLevelInterpreter.cpp.no_jit_4 webkitgtk-2.3.2/Source/JavaScriptCore/llint/LowLevelInterpreter.cpp
+--- webkitgtk-2.3.2/Source/JavaScriptCore/llint/LowLevelInterpreter.cpp.no_jit_4	2013-12-05 13:40:54.414566332 +0100
++++ webkitgtk-2.3.2/Source/JavaScriptCore/llint/LowLevelInterpreter.cpp	2013-12-05 13:41:17.944614906 +0100
+@@ -309,7 +309,7 @@ JSValue CLoop::execute(CallFrame* callFr
+     // 2. 32 bit result values will be in the low 32-bit of t0.
+     // 3. 64 bit result values will be in t0.
+ 
+-    CLoopRegister t0, t1, t2, t3, a1;
++    CLoopRegister t0, t1, t2, t3;
+ #if USE(JSVALUE64)
+     CLoopRegister rBasePC, tagTypeNumber, tagMask;
+ #endif
diff --git a/webkitgtk3.spec b/webkitgtk3.spec
index c4acbc9..6a966a3 100644
--- a/webkitgtk3.spec
+++ b/webkitgtk3.spec
@@ -6,7 +6,7 @@
         cp -p %1  %{buildroot}%{_pkgdocdir}/$(echo '%1' | sed -e 's!/!.!g')
 
 Name:           webkitgtk3
-Version:        2.2.3
+Version:        2.3.2
 Release:        1%{?dist}
 Summary:        GTK+ Web content engine library
 
@@ -17,11 +17,21 @@ URL:            http://www.webkitgtk.org/
 Source0:        http://webkitgtk.org/releases/webkitgtk-%{version}.tar.xz
 
 Patch0:         webkit-1.1.14-nspluginwrapper.patch
-# workarounds for non-JIT arches
-# https://bugs.webkit.org/show_bug.cgi?id=104270
-Patch1:         webkitgtk-2.1.1-yarr.patch
 # https://bugs.webkit.org/show_bug.cgi?id=103128
 Patch4:         webkit-2.1.90-double2intsPPC32.patch
+# https://bugs.webkit.org/show_bug.cgi?id=125062
+# Remove when 2.3.3 will be released
+Patch5:         webkitgtk-2.3.2-no_jit_1.patch
+# https://bugs.webkit.org/show_bug.cgi?id=125063
+# Remove when 2.3.3 will be released
+Patch6:         webkitgtk-2.3.2-no_jit_2.patch
+# https://bugs.webkit.org/show_bug.cgi?id=123809
+# Remove when 2.3.3 will be released
+Patch7:         webkitgtk-2.3.2-no_jit_3.patch
+# https://bugs.webkit.org/show_bug.cgi?id=125186
+# Remove when 2.3.3 will be released
+Patch8:         webkitgtk-2.3.2-no_jit_4.patch
+Patch9:         webkitgtk-2.3.2-libatomic.patch
 
 BuildRequires:  at-spi2-core-devel
 BuildRequires:  bison
@@ -56,6 +66,10 @@ BuildRequires:  perl-Switch
 BuildRequires:  ruby
 BuildRequires:  mesa-libGL-devel
 
+%ifarch ppc
+BuildRequires:  libatomic
+%endif
+
 %description
 WebKitGTK+ is the port of the portable web rendering engine WebKit to the
 GTK+ platform.
@@ -92,10 +106,16 @@ This package contains developer documentation for %{name}.
 %prep
 %setup -qn "webkitgtk-%{version}"
 %patch0 -p1 -b .nspluginwrapper
-%patch1 -p1 -b .yarr
 %ifarch ppc s390
 %patch4 -p1 -b .double2intsPPC32
 %endif
+%patch5 -p1 -b .no_jit_1
+%patch6 -p1 -b .no_jit_2
+%patch7 -p1 -b .no_jit_3
+%patch8 -p1 -b .no_jit_4
+%ifarch ppc
+%patch9 -p1 -b .libatomic
+%endif
 
 %build
 # Use linker flags to reduce memory consumption
@@ -108,7 +128,11 @@ This package contains developer documentation for %{name}.
 
 %ifarch ppc
 # Use linker flag -relax to get WebKit2 build under ppc(32) with JIT disabled
-%global optflags %{optflags} -Wl,-relax
+%global optflags %{optflags} -Wl,-relax -latomic
+%endif
+
+%ifarch s390 s390x ppc ppc64
+%global optflags %{optflags} -DENABLE_YARR_JIT=0
 %endif
 
 %configure                                                      \
@@ -208,9 +232,12 @@ find $RPM_BUILD_ROOT%{_libdir} -name "*.la" -delete
 %dir %{_datadir}/gtk-doc/html
 %{_datadir}/gtk-doc/html/webkitgtk
 %{_datadir}/gtk-doc/html/webkit2gtk
-
+%{_datadir}/gtk-doc/html/webkitdomgtk
 
 %changelog
+* Thu Dec 5 2013 Tomas Popela <tpopela at redhat.com> - 2.3.2-1
+- Update to 2.3.2
+
 * Wed Dec 4 2013 Tomas Popela <tpopela at redhat.com> - 2.2.3-1
 - Update to 2.2.3
 


More information about the scm-commits mailing list