From 7dc63df3d635a38904f4811aa7bff86ac39c9121 Mon Sep 17 00:00:00 2001 From: Remi Collet Date: Mon, 15 Apr 2013 09:54:58 +0200 Subject: Xulrunner / Firefox 20.0.1 --- rhbz-911314.patch | 142 +++++++++++++++++++++++++++--------------------------- xulrunner.spec | 8 ++- 2 files changed, 78 insertions(+), 72 deletions(-) diff --git a/rhbz-911314.patch b/rhbz-911314.patch index 4f1cfa0..82f245a 100644 --- a/rhbz-911314.patch +++ b/rhbz-911314.patch @@ -24,14 +24,14 @@ Index: mozilla-release/js/src/gc/Memory.cpp @@ -8,6 +8,7 @@ #include "mozilla/Assertions.h" - #include "jstypes.h" + #include "jsapi.h" +#include "jscntxt.h" + #include "js/HeapAPI.h" #include "js/Utility.h" - #include "gc/Memory.h" -@@ -19,39 +20,34 @@ namespace gc { - extern const size_t PageSize; - extern const size_t ArenaSize; +@@ -18,39 +19,34 @@ using namespace js::gc; + + /* Unused memory decommiting requires the arena size match the page size. */ static bool -DecommitEnabled() +DecommitEnabled(JSRuntime *rt) @@ -47,8 +47,8 @@ Index: mozilla-release/js/src/gc/Memory.cpp -static size_t AllocationGranularity = 0; - void --InitMemorySubsystem() -+InitMemorySubsystem(JSRuntime *rt) +-gc::InitMemorySubsystem() ++gc::InitMemorySubsystem(JSRuntime *rt) { SYSTEM_INFO sysinfo; GetSystemInfo(&sysinfo); @@ -62,8 +62,8 @@ Index: mozilla-release/js/src/gc/Memory.cpp } void * --MapAlignedPages(size_t size, size_t alignment) -+MapAlignedPages(JSRuntime *rt, size_t size, size_t alignment) +-gc::MapAlignedPages(size_t size, size_t alignment) ++gc::MapAlignedPages(JSRuntime *rt, size_t size, size_t alignment) { JS_ASSERT(size >= alignment); JS_ASSERT(size % alignment == 0); @@ -78,7 +78,7 @@ Index: mozilla-release/js/src/gc/Memory.cpp return VirtualAlloc(NULL, size, MEM_COMMIT | MEM_RESERVE, PAGE_READWRITE); } -@@ -75,7 +71,7 @@ MapAlignedPages(size_t size, size_t alig +@@ -74,7 +70,7 @@ gc::MapAlignedPages(size_t size, size_t if (!p) return NULL; void *chunkStart = (void *)(uintptr_t(p) + (alignment - (uintptr_t(p) % alignment))); @@ -87,19 +87,19 @@ Index: mozilla-release/js/src/gc/Memory.cpp p = VirtualAlloc(chunkStart, size, MEM_COMMIT | MEM_RESERVE, PAGE_READWRITE); /* Failure here indicates a race with another thread, so try again. */ -@@ -86,26 +82,26 @@ MapAlignedPages(size_t size, size_t alig +@@ -85,26 +81,26 @@ gc::MapAlignedPages(size_t size, size_t } void --UnmapPages(void *p, size_t size) -+UnmapPages(JSRuntime *rt, void *p, size_t size) +-gc::UnmapPages(void *p, size_t size) ++gc::UnmapPages(JSRuntime *rt, void *p, size_t size) { JS_ALWAYS_TRUE(VirtualFree(p, 0, MEM_RELEASE)); } bool --MarkPagesUnused(void *p, size_t size) -+MarkPagesUnused(JSRuntime *rt, void *p, size_t size) +-gc::MarkPagesUnused(void *p, size_t size) ++gc::MarkPagesUnused(JSRuntime *rt, void *p, size_t size) { - if (!DecommitEnabled()) - return false; @@ -113,40 +113,40 @@ Index: mozilla-release/js/src/gc/Memory.cpp } bool --MarkPagesInUse(void *p, size_t size) -+MarkPagesInUse(JSRuntime *rt, void *p, size_t size) +-gc::MarkPagesInUse(void *p, size_t size) ++gc::MarkPagesInUse(JSRuntime *rt, void *p, size_t size) { - JS_ASSERT(uintptr_t(p) % PageSize == 0); + JS_ASSERT(uintptr_t(p) % rt->gcSystemPageSize == 0); return true; } -@@ -127,12 +123,13 @@ GetPageFaultCount() +@@ -126,12 +122,13 @@ gc::GetPageFaultCount() #define OS2_MAX_RECURSIONS 16 void --InitMemorySubsystem() -+InitMemorySubsystem(JSRuntime *rt) +-gc::InitMemorySubsystem() ++gc::InitMemorySubsystem(JSRuntime *rt) { + rt->gcSystemPageSize = rt->gcSystemAllocGranularity = ArenaSize; } void --UnmapPages(void *addr, size_t size) -+UnmapPages(JSRuntime *rt, void *addr, size_t size) +-gc::UnmapPages(void *addr, size_t size) ++gc::UnmapPages(JSRuntime *rt, void *addr, size_t size) { if (!DosFreeMem(addr)) return; -@@ -153,7 +150,7 @@ UnmapPages(void *addr, size_t size) +@@ -152,7 +149,7 @@ gc::UnmapPages(void *addr, size_t size) } static void * --MapAlignedPagesRecursively(size_t size, size_t alignment, int& recursions) -+MapAlignedPagesRecursively(JSRuntime *rt, size_t size, size_t alignment, int& recursions) +-gc::MapAlignedPagesRecursively(size_t size, size_t alignment, int& recursions) ++gc::MapAlignedPagesRecursively(JSRuntime *rt, size_t size, size_t alignment, int& recursions) { if (++recursions >= OS2_MAX_RECURSIONS) return NULL; -@@ -179,7 +176,7 @@ MapAlignedPagesRecursively(size_t size, +@@ -178,7 +175,7 @@ gc::MapAlignedPagesRecursively(size_t si unsigned long rc = DosQueryMem(&(static_cast(tmp))[size], &cb, &flags); if (!rc && (flags & PAG_FREE) && cb >= filler) { @@ -155,7 +155,7 @@ Index: mozilla-release/js/src/gc/Memory.cpp if (DosAllocMem(&tmp, filler, OBJ_ANY | PAG_COMMIT | PAG_READ | PAG_WRITE)) { JS_ALWAYS_TRUE(DosAllocMem(&tmp, filler, -@@ -187,19 +184,19 @@ MapAlignedPagesRecursively(size_t size, +@@ -186,19 +183,19 @@ gc::MapAlignedPagesRecursively(size_t si } } @@ -168,8 +168,8 @@ Index: mozilla-release/js/src/gc/Memory.cpp } void * --MapAlignedPages(size_t size, size_t alignment) -+MapAlignedPages(JSRuntime *rt, size_t size, size_t alignment) +-gc::MapAlignedPages(size_t size, size_t alignment) ++gc::MapAlignedPages(JSRuntime *rt, size_t size, size_t alignment) { JS_ASSERT(size >= alignment); JS_ASSERT(size % alignment == 0); @@ -180,7 +180,7 @@ Index: mozilla-release/js/src/gc/Memory.cpp int recursions = -1; -@@ -208,7 +205,7 @@ MapAlignedPages(size_t size, size_t alig +@@ -207,7 +204,7 @@ gc::MapAlignedPages(size_t size, size_t * of the right size by recursively allocating blocks of unaligned * free memory until only an aligned allocation is possible. */ @@ -189,11 +189,11 @@ Index: mozilla-release/js/src/gc/Memory.cpp if (p) return p; -@@ -230,16 +227,15 @@ MapAlignedPages(size_t size, size_t alig +@@ -229,16 +226,15 @@ gc::MapAlignedPages(size_t size, size_t } bool --MarkPagesUnused(void *p, size_t size) +-gc::MarkPagesUnused(void *p, size_t size) -{ - JS_ASSERT(uintptr_t(p) % PageSize == 0); +MarkPagesUnused(JSRuntime *rt, void *p, size_t size) { @@ -202,27 +202,27 @@ Index: mozilla-release/js/src/gc/Memory.cpp } bool --MarkPagesInUse(void *p, size_t size) -+MarkPagesInUse(JSRuntime *rt, void *p, size_t size) +-gc::MarkPagesInUse(void *p, size_t size) ++gc::MarkPagesInUse(JSRuntime *rt, void *p, size_t size) { - JS_ASSERT(uintptr_t(p) % PageSize == 0); + JS_ASSERT(uintptr_t(p) % rt->gcSystemPageSize == 0); return true; } -@@ -259,17 +255,18 @@ GetPageFaultCount() +@@ -258,17 +254,18 @@ gc::GetPageFaultCount() #endif void --InitMemorySubsystem() -+InitMemorySubsystem(JSRuntime *rt) +-gc::InitMemorySubsystem() ++gc::InitMemorySubsystem(JSRuntime *rt) { + rt->gcSystemPageSize = rt->gcSystemAllocGranularity = size_t(sysconf(_SC_PAGESIZE)); } void * --MapAlignedPages(size_t size, size_t alignment) -+MapAlignedPages(JSRuntime *rt, size_t size, size_t alignment) +-gc::MapAlignedPages(size_t size, size_t alignment) ++gc::MapAlignedPages(JSRuntime *rt, size_t size, size_t alignment) { JS_ASSERT(size >= alignment); JS_ASSERT(size % alignment == 0); @@ -233,19 +233,19 @@ Index: mozilla-release/js/src/gc/Memory.cpp int prot = PROT_READ | PROT_WRITE; int flags = MAP_PRIVATE | MAP_ANON | MAP_ALIGN | MAP_NOSYNC; -@@ -281,22 +278,22 @@ MapAlignedPages(size_t size, size_t alig +@@ -280,22 +277,22 @@ gc::MapAlignedPages(size_t size, size_t } void --UnmapPages(void *p, size_t size) -+UnmapPages(JSRuntime *rt, void *p, size_t size) +-gc::UnmapPages(void *p, size_t size) ++gc::UnmapPages(JSRuntime *rt, void *p, size_t size) { JS_ALWAYS_TRUE(0 == munmap((caddr_t)p, size)); } bool --MarkPagesUnused(void *p, size_t size) -+MarkPagesUnused(JSRuntime *rt, void *p, size_t size) +-gc::MarkPagesUnused(void *p, size_t size) ++gc::MarkPagesUnused(JSRuntime *rt, void *p, size_t size) { - JS_ASSERT(uintptr_t(p) % PageSize == 0); + JS_ASSERT(uintptr_t(p) % rt->gcSystemPageSize == 0); @@ -253,20 +253,20 @@ Index: mozilla-release/js/src/gc/Memory.cpp } bool --MarkPagesInUse(void *p, size_t size) -+MarkPagesInUse(JSRuntime *rt, void *p, size_t size) +-gc::MarkPagesInUse(void *p, size_t size) ++gc::MarkPagesInUse(JSRuntime *rt, void *p, size_t size) { - JS_ASSERT(uintptr_t(p) % PageSize == 0); + JS_ASSERT(uintptr_t(p) % rt->gcSystemPageSize == 0); return true; } -@@ -314,27 +311,24 @@ GetPageFaultCount() +@@ -313,27 +310,24 @@ gc::GetPageFaultCount() #include void --InitMemorySubsystem() -+InitMemorySubsystem(JSRuntime *rt) +-gc::InitMemorySubsystem() ++gc::InitMemorySubsystem(JSRuntime *rt) { - if (size_t(sysconf(_SC_PAGESIZE)) != PageSize) { - fprintf(stderr,"SpiderMonkey compiled with incorrect page size; please update js/public/HeapAPI.h.\n"); @@ -276,8 +276,8 @@ Index: mozilla-release/js/src/gc/Memory.cpp } void * --MapAlignedPages(size_t size, size_t alignment) -+MapAlignedPages(JSRuntime *rt, size_t size, size_t alignment) +-gc::MapAlignedPages(size_t size, size_t alignment) ++gc::MapAlignedPages(JSRuntime *rt, size_t size, size_t alignment) { JS_ASSERT(size >= alignment); JS_ASSERT(size % alignment == 0); @@ -295,19 +295,19 @@ Index: mozilla-release/js/src/gc/Memory.cpp return mmap(NULL, size, prot, flags, -1, 0); } -@@ -360,26 +354,26 @@ MapAlignedPages(size_t size, size_t alig +@@ -359,26 +353,26 @@ gc::MapAlignedPages(size_t size, size_t } void --UnmapPages(void *p, size_t size) -+UnmapPages(JSRuntime *rt, void *p, size_t size) +-gc::UnmapPages(void *p, size_t size) ++gc::UnmapPages(JSRuntime *rt, void *p, size_t size) { JS_ALWAYS_TRUE(0 == munmap(p, size)); } bool --MarkPagesUnused(void *p, size_t size) -+MarkPagesUnused(JSRuntime *rt, void *p, size_t size) +-gc::MarkPagesUnused(void *p, size_t size) ++gc::MarkPagesUnused(JSRuntime *rt, void *p, size_t size) { - if (!DecommitEnabled()) - return false; @@ -321,8 +321,8 @@ Index: mozilla-release/js/src/gc/Memory.cpp } bool --MarkPagesInUse(void *p, size_t size) -+MarkPagesInUse(JSRuntime *rt, void *p, size_t size) +-gc::MarkPagesInUse(void *p, size_t size) ++gc::MarkPagesInUse(JSRuntime *rt, void *p, size_t size) { - JS_ASSERT(uintptr_t(p) % PageSize == 0); + JS_ASSERT(uintptr_t(p) % rt->gcSystemPageSize == 0); @@ -363,7 +363,7 @@ Index: mozilla-release/js/src/jsapi.cpp =================================================================== --- mozilla-release.orig/js/src/jsapi.cpp +++ mozilla-release/js/src/jsapi.cpp -@@ -1105,8 +1105,6 @@ JS_NewRuntime(uint32_t maxbytes, JSUseHe +@@ -1113,8 +1113,6 @@ JS_NewRuntime(uint32_t maxbytes, JSUseHe #undef MSG_DEF #endif /* DEBUG */ @@ -376,7 +376,7 @@ Index: mozilla-release/js/src/jscntxt.h =================================================================== --- mozilla-release.orig/js/src/jscntxt.h +++ mozilla-release/js/src/jscntxt.h -@@ -847,6 +847,15 @@ struct JSRuntime : js::RuntimeFriendFiel +@@ -873,6 +873,15 @@ struct JSRuntime : js::RuntimeFriendFiel /* Stack of thread-stack-allocated GC roots. */ js::AutoGCRooter *autoGCRooters; @@ -396,7 +396,7 @@ Index: mozilla-release/js/src/jsgc.cpp =================================================================== --- mozilla-release.orig/js/src/jsgc.cpp +++ mozilla-release/js/src/jsgc.cpp -@@ -486,13 +486,13 @@ FinalizeArenas(FreeOp *fop, +@@ -477,13 +477,13 @@ FinalizeArenas(FreeOp *fop, } static inline Chunk * @@ -414,7 +414,7 @@ Index: mozilla-release/js/src/jsgc.cpp } inline bool -@@ -582,25 +582,25 @@ ChunkPool::expire(JSRuntime *rt, bool re +@@ -573,25 +573,25 @@ ChunkPool::expire(JSRuntime *rt, bool re } static void @@ -444,7 +444,7 @@ Index: mozilla-release/js/src/jsgc.cpp #ifdef JSGC_ROOT_ANALYSIS // Our poison pointers are not guaranteed to be invalid on 64-bit -@@ -613,7 +613,7 @@ Chunk::allocate(JSRuntime *rt) +@@ -604,7 +604,7 @@ Chunk::allocate(JSRuntime *rt) // were marked as uncommitted, but it's a little complicated to avoid // clobbering pre-existing unrelated mappings. while (IsPoisonedPtr(chunk)) @@ -453,7 +453,7 @@ Index: mozilla-release/js/src/jsgc.cpp #endif if (!chunk) -@@ -629,7 +629,7 @@ Chunk::release(JSRuntime *rt, Chunk *chu +@@ -620,7 +620,7 @@ Chunk::release(JSRuntime *rt, Chunk *chu { JS_ASSERT(chunk); chunk->prepareToBeFreed(rt); @@ -462,7 +462,7 @@ Index: mozilla-release/js/src/jsgc.cpp } inline void -@@ -745,7 +745,7 @@ Chunk::findDecommittedArenaOffset() +@@ -736,7 +736,7 @@ Chunk::findDecommittedArenaOffset() } ArenaHeader * @@ -471,7 +471,7 @@ Index: mozilla-release/js/src/jsgc.cpp { JS_ASSERT(info.numArenasFreeCommitted == 0); JS_ASSERT(info.numArenasFree > 0); -@@ -756,7 +756,7 @@ Chunk::fetchNextDecommittedArena() +@@ -747,7 +747,7 @@ Chunk::fetchNextDecommittedArena() decommittedArenas.unset(offset); Arena *arena = &arenas[offset]; @@ -480,7 +480,7 @@ Index: mozilla-release/js/src/jsgc.cpp arena->aheader.setAsNotAllocated(); return &arena->aheader; -@@ -790,7 +790,7 @@ Chunk::allocateArena(JSCompartment *comp +@@ -781,7 +781,7 @@ Chunk::allocateArena(JSCompartment *comp ArenaHeader *aheader = JS_LIKELY(info.numArenasFreeCommitted > 0) ? fetchNextFreeArena(rt) @@ -489,7 +489,7 @@ Index: mozilla-release/js/src/jsgc.cpp aheader->init(comp, thingKind); if (JS_UNLIKELY(!hasAvailableArenas())) removeFromAvailableList(); -@@ -893,6 +893,8 @@ static const int64_t JIT_SCRIPT_RELEASE_ +@@ -881,6 +881,8 @@ static const int64_t JIT_SCRIPT_RELEASE_ JSBool js_InitGC(JSRuntime *rt, uint32_t maxbytes) { @@ -498,7 +498,7 @@ Index: mozilla-release/js/src/jsgc.cpp if (!rt->gcChunkSet.init(INITIAL_CHUNK_CAPACITY)) return false; -@@ -2745,7 +2747,7 @@ DecommitArenasFromAvailableList(JSRuntim +@@ -1969,7 +1971,7 @@ DecommitArenasFromAvailableList(JSRuntim Maybe maybeUnlock; if (!rt->isHeapBusy()) maybeUnlock.construct(rt); @@ -507,7 +507,7 @@ Index: mozilla-release/js/src/jsgc.cpp } if (ok) { -@@ -2813,7 +2815,7 @@ ExpireChunksAndArenas(JSRuntime *rt, boo +@@ -2037,7 +2039,7 @@ ExpireChunksAndArenas(JSRuntime *rt, boo { if (Chunk *toFree = rt->gcChunkPool.expire(rt, shouldShrink)) { AutoUnlockGC unlock(rt); @@ -520,7 +520,7 @@ Index: mozilla-release/js/public/HeapAPI.h =================================================================== --- mozilla-release.orig/js/public/HeapAPI.h +++ mozilla-release/js/public/HeapAPI.h -@@ -11,24 +11,7 @@ +@@ -13,24 +13,7 @@ namespace js { namespace gc { diff --git a/xulrunner.spec b/xulrunner.spec index f4fa70a..a2ea5cd 100644 --- a/xulrunner.spec +++ b/xulrunner.spec @@ -92,7 +92,7 @@ Summary: XUL Runtime for Gecko Applications Name: %{shortname}-last -Version: 20.0 +Version: 20.0.1 Release: 1%{?pre_tag}%{?dist} URL: http://developer.mozilla.org/En/XULRunner License: MPLv1.1 or GPLv2+ or LGPLv2+ @@ -587,6 +587,12 @@ fi #--------------------------------------------------------------------- %changelog +* Mon Apr 15 2013 Remi Collet - 20.0.1-1 +- Update to 20.0.1, sync with rawhide + +* Fri Apr 5 2013 Martin Stransky - 20.0-4 +- Updated rhbz-911314.patch for xulrunner 20 + * Wed Apr 3 2013 Remi Collet - 20.0-1 - Update to 20.0, sync with rawhide -- cgit