[SCM] WebKit Debian packaging branch, debian/unstable, updated. upstream/1.1.11-738-g315de55
Gustavo Noronha Silva
kov at debian.org
Tue Jul 28 16:51:58 UTC 2009
The following commit has been merged in the debian/unstable branch:
commit 999dbd8ba69d83be145c44f870090bfad4759112
Merge: 498bd0ef0e4fded90d14f170b206cb69e4ec0c32 fde64cd6e24b62773f957207a0df789c59d25fbf
Author: Gustavo Noronha Silva <kov at debian.org>
Date: Tue Jul 28 18:11:16 2009 +0200
Merge branch 'webkit-1.1' into debian/unstable
diff --combined JavaScriptCore/wtf/FastMalloc.cpp
index ec07afd,c855a41..b526da3
--- a/JavaScriptCore/wtf/FastMalloc.cpp
+++ b/JavaScriptCore/wtf/FastMalloc.cpp
@@@ -95,8 -95,6 +95,6 @@@
#define FORCE_SYSTEM_MALLOC 1
#endif
- #define TCMALLOC_TRACK_DECOMMITED_SPANS (HAVE(VIRTUALALLOC) || HAVE(MADV_FREE_REUSE))
-
#ifndef NDEBUG
namespace WTF {
@@@ -1043,11 -1041,7 +1041,7 @@@ struct Span
#endif
};
- #if TCMALLOC_TRACK_DECOMMITED_SPANS
#define ASSERT_SPAN_COMMITTED(span) ASSERT(!span->decommitted)
- #else
- #define ASSERT_SPAN_COMMITTED(span)
- #endif
#ifdef SPAN_HISTORY
void Event(Span* span, char op, int v = 0) {
@@@ -1369,12 -1363,10 +1363,10 @@@ inline Span* TCMalloc_PageHeap::New(Len
Span* result = ll->next;
Carve(result, n, released);
- #if TCMALLOC_TRACK_DECOMMITED_SPANS
if (result->decommitted) {
TCMalloc_SystemCommit(reinterpret_cast<void*>(result->start << kPageShift), static_cast<size_t>(n << kPageShift));
result->decommitted = false;
}
- #endif
ASSERT(Check());
free_pages_ -= n;
return result;
@@@ -1431,12 -1423,10 +1423,10 @@@ Span* TCMalloc_PageHeap::AllocLarge(Len
if (best != NULL) {
Carve(best, n, from_released);
- #if TCMALLOC_TRACK_DECOMMITED_SPANS
if (best->decommitted) {
TCMalloc_SystemCommit(reinterpret_cast<void*>(best->start << kPageShift), static_cast<size_t>(n << kPageShift));
best->decommitted = false;
}
- #endif
ASSERT(Check());
free_pages_ -= n;
return best;
@@@ -1461,14 -1451,10 +1451,10 @@@ Span* TCMalloc_PageHeap::Split(Span* sp
return leftover;
}
- #if !TCMALLOC_TRACK_DECOMMITED_SPANS
- static ALWAYS_INLINE void propagateDecommittedState(Span*, Span*) { }
- #else
static ALWAYS_INLINE void propagateDecommittedState(Span* destination, Span* source)
{
destination->decommitted = source->decommitted;
}
- #endif
inline void TCMalloc_PageHeap::Carve(Span* span, Length n, bool released) {
ASSERT(n > 0);
@@@ -1495,9 -1481,6 +1481,6 @@@
}
}
- #if !TCMALLOC_TRACK_DECOMMITED_SPANS
- static ALWAYS_INLINE void mergeDecommittedStates(Span*, Span*) { }
- #else
static ALWAYS_INLINE void mergeDecommittedStates(Span* destination, Span* other)
{
if (destination->decommitted && !other->decommitted) {
@@@ -1509,7 -1492,6 +1492,6 @@@
destination->decommitted = true;
}
}
- #endif
inline void TCMalloc_PageHeap::Delete(Span* span) {
ASSERT(Check());
@@@ -1526,10 -1508,6 +1508,6 @@@
// necessary. We do not bother resetting the stale pagemap
// entries for the pieces we are merging together because we only
// care about the pagemap entries for the boundaries.
- //
- // Note that the spans we merge into "span" may come out of
- // a "returned" list. For simplicity, we move these into the
- // "normal" list of the appropriate size class.
const PageID p = span->start;
const Length n = span->length;
Span* prev = GetDescriptor(p-1);
@@@ -1560,10 -1538,16 +1538,16 @@@
Event(span, 'D', span->length);
span->free = 1;
- if (span->length < kMaxPages) {
- DLL_Prepend(&free_[span->length].normal, span);
+ if (span->decommitted) {
+ if (span->length < kMaxPages)
+ DLL_Prepend(&free_[span->length].returned, span);
+ else
+ DLL_Prepend(&large_.returned, span);
} else {
- DLL_Prepend(&large_.normal, span);
+ if (span->length < kMaxPages)
+ DLL_Prepend(&free_[span->length].normal, span);
+ else
+ DLL_Prepend(&large_.normal, span);
}
free_pages_ += n;
@@@ -1591,9 -1575,7 +1575,7 @@@ void TCMalloc_PageHeap::IncrementalScav
DLL_Remove(s);
TCMalloc_SystemRelease(reinterpret_cast<void*>(s->start << kPageShift),
static_cast<size_t>(s->length << kPageShift));
- #if TCMALLOC_TRACK_DECOMMITED_SPANS
s->decommitted = true;
- #endif
DLL_Prepend(&slist->returned, s);
scavenge_counter_ = std::max<size_t>(64UL, std::min<size_t>(kDefaultReleaseDelay, kDefaultReleaseDelay - (free_pages_ / kDefaultReleaseDelay)));
@@@ -2083,13 -2065,13 +2065,13 @@@ static TCMalloc_Central_FreeListPadded
// Page-level allocator
static SpinLock pageheap_lock = SPINLOCK_INITIALIZER;
-static void* pageheap_memory[(sizeof(TCMalloc_PageHeap) + sizeof(void*) - 1) / sizeof(void*)];
+static uint64_t pageheap_memory[(sizeof(TCMalloc_PageHeap) + sizeof(uint64_t) - 1) / sizeof(uint64_t)];
static bool phinited = false;
// Avoid extra level of indirection by making "pageheap" be just an alias
// of pageheap_memory.
typedef union {
- void* m_memory;
+ uint64_t* m_memory;
TCMalloc_PageHeap* m_pageHeap;
} PageHeapUnion;
diff --combined JavaScriptCore/wtf/Platform.h
index ddfc73f,3f64c77..7132cc4
--- a/JavaScriptCore/wtf/Platform.h
+++ b/JavaScriptCore/wtf/Platform.h
@@@ -1,5 -1,6 +1,6 @@@
/*
* Copyright (C) 2006, 2007, 2008, 2009 Apple Inc. All rights reserved.
+ * Copyright (C) 2007-2009 Torch Mobile, Inc.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
@@@ -27,11 -28,11 +28,11 @@@
#define WTF_Platform_h
/* PLATFORM handles OS, operating environment, graphics API, and CPU */
- #define PLATFORM(WTF_FEATURE) (defined( WTF_PLATFORM_##WTF_FEATURE ) && WTF_PLATFORM_##WTF_FEATURE)
- #define COMPILER(WTF_FEATURE) (defined( WTF_COMPILER_##WTF_FEATURE ) && WTF_COMPILER_##WTF_FEATURE)
- #define HAVE(WTF_FEATURE) (defined( HAVE_##WTF_FEATURE ) && HAVE_##WTF_FEATURE)
- #define USE(WTF_FEATURE) (defined( WTF_USE_##WTF_FEATURE ) && WTF_USE_##WTF_FEATURE)
- #define ENABLE(WTF_FEATURE) (defined( ENABLE_##WTF_FEATURE ) && ENABLE_##WTF_FEATURE)
+ #define PLATFORM(WTF_FEATURE) (defined WTF_PLATFORM_##WTF_FEATURE && WTF_PLATFORM_##WTF_FEATURE)
+ #define COMPILER(WTF_FEATURE) (defined WTF_COMPILER_##WTF_FEATURE && WTF_COMPILER_##WTF_FEATURE)
+ #define HAVE(WTF_FEATURE) (defined HAVE_##WTF_FEATURE && HAVE_##WTF_FEATURE)
+ #define USE(WTF_FEATURE) (defined WTF_USE_##WTF_FEATURE && WTF_USE_##WTF_FEATURE)
+ #define ENABLE(WTF_FEATURE) (defined ENABLE_##WTF_FEATURE && ENABLE_##WTF_FEATURE)
/* Operating systems - low-level dependencies */
@@@ -56,12 -57,12 +57,12 @@@
#define WTF_PLATFORM_WIN_OS 1
#endif
- /* PLATFORM(WIN_CE) */
+ /* PLATFORM(WINCE) */
/* Operating system level dependencies for Windows CE that should be used */
/* regardless of operating environment */
/* Note that for this platform PLATFORM(WIN_OS) is also defined. */
#if defined(_WIN32_WCE)
- #define WTF_PLATFORM_WIN_CE 1
+ #define WTF_PLATFORM_WINCE 1
#endif
/* PLATFORM(LINUX) */
@@@ -92,12 -93,10 +93,10 @@@
#define WTF_PLATFORM_SOLARIS 1
#endif
- #if defined (__S60__) || defined (__SYMBIAN32__)
+ #if defined (__SYMBIAN32__)
/* we are cross-compiling, it is not really windows */
#undef WTF_PLATFORM_WIN_OS
#undef WTF_PLATFORM_WIN
- #undef WTF_PLATFORM_CAIRO
- #define WTF_PLATFORM_S60 1
#define WTF_PLATFORM_SYMBIAN 1
#endif
@@@ -114,7 -113,7 +113,7 @@@
/* should be used regardless of operating environment */
#if PLATFORM(DARWIN) \
|| PLATFORM(FREEBSD) \
- || PLATFORM(S60) \
+ || PLATFORM(SYMBIAN) \
|| PLATFORM(NETBSD) \
|| defined(unix) \
|| defined(__unix) \
@@@ -190,7 -189,7 +189,7 @@@
/* Makes PLATFORM(WIN) default to PLATFORM(CAIRO) */
/* FIXME: This should be changed from a blacklist to a whitelist */
- #if !PLATFORM(MAC) && !PLATFORM(QT) && !PLATFORM(WX) && !PLATFORM(CHROMIUM)
+ #if !PLATFORM(MAC) && !PLATFORM(QT) && !PLATFORM(WX) && !PLATFORM(CHROMIUM) && !PLATFORM(WINCE)
#define WTF_PLATFORM_CAIRO 1
#endif
@@@ -227,10 -226,29 +226,29 @@@
#if !defined(__ARM_EABI__)
#define WTF_PLATFORM_FORCE_PACK 1
#endif
+ #define ARM_ARCH_VERSION 3
+ #if defined(__ARM_ARCH_4__) || defined(__ARM_ARCH_4T__)
+ #undef ARM_ARCH_VERSION
+ #define ARM_ARCH_VERSION 4
+ #endif
+ #if defined(__ARM_ARCH_5__) || defined(__ARM_ARCH_5T__) \
+ || defined(__ARM_ARCH_5E__) || defined(__ARM_ARCH_5TE__) \
+ || defined(__ARM_ARCH_5TEJ__)
+ #undef ARM_ARCH_VERSION
+ #define ARM_ARCH_VERSION 5
+ #endif
+ #if defined(__ARM_ARCH_6__) || defined(__ARM_ARCH_6J__) \
+ || defined(__ARM_ARCH_6K__) || defined(__ARM_ARCH_6Z__) \
+ || defined(__ARM_ARCH_6ZK__)
+ #undef ARM_ARCH_VERSION
+ #define ARM_ARCH_VERSION 6
#endif
#if defined(__ARM_ARCH_7A__)
- #define WTF_PLATFORM_ARM_V7 1
+ #undef ARM_ARCH_VERSION
+ #define ARM_ARCH_VERSION 7
#endif
+ #endif /* ARM */
+ #define PLATFORM_ARM_ARCH(N) (PLATFORM(ARM) && ARM_ARCH_VERSION >= N)
/* PLATFORM(X86) */
#if defined(__i386__) \
@@@ -247,13 -265,6 +265,13 @@@
#define WTF_PLATFORM_X86_64 1
#endif
+/* PLATFORM(SPARC) */
+#if defined(__sparc__) \
+ || defined(__sparc)
+#define WTF_PLATFORM_SPARC 1
+#define WTF_PLATFORM_BIG_ENDIAN 1
+#endif
+
/* PLATFORM(SH4) */
#if defined(__SH4__)
#define WTF_PLATFORM_SH4 1
@@@ -265,12 -276,12 +283,12 @@@
#define WTF_PLATFORM_BIG_ENDIAN 1
#endif
- /* PLATFORM(WIN_CE) && PLATFORM(QT)
+ /* PLATFORM(WINCE) && PLATFORM(QT)
We can not determine the endianess at compile time. For
Qt for Windows CE the endianess is specified in the
device specific makespec
*/
- #if PLATFORM(WIN_CE) && PLATFORM(QT)
+ #if PLATFORM(WINCE) && PLATFORM(QT)
# include <QtGlobal>
# undef WTF_PLATFORM_BIG_ENDIAN
# undef WTF_PLATFORM_MIDDLE_ENDIAN
@@@ -279,16 -290,6 +297,16 @@@
# endif
#endif
+/* For undefined platforms */
+#if !defined(WTF_PLATFORM_BIG_ENDIAN) && !defined(WTF_PLATFORM_MIDDLE_ENDIAN)
+#include <sys/param.h>
+#if __BYTE_ORDER == __BIG_ENDIAN
+#define WTF_PLATFORM_BIG_ENDIAN 1
+#elif __BYTE_ORDER == __PDP_ENDIAN
+#define WTF_PLATFORM_MIDDLE_ENDIAN 1
+#endif
+#endif
+
/* Compiler */
/* COMPILER(MSVC) */
@@@ -308,6 -309,7 +326,7 @@@
/* --gnu option of the RVCT compiler also defines __GNUC__ */
#if defined(__GNUC__) && !COMPILER(RVCT)
#define WTF_COMPILER_GCC 1
+ #define GCC_VERSION (__GNUC__ * 10000 + __GNUC_MINOR__ * 100 + __GNUC_PATCHLEVEL__)
#endif
/* COMPILER(MINGW) */
@@@ -336,11 -338,36 +355,36 @@@
#define ENABLE_JSC_MULTIPLE_THREADS 1
#endif
+ #if PLATFORM(WINCE) && !PLATFORM(QT)
+ #undef ENABLE_JSC_MULTIPLE_THREADS
+ #define ENABLE_JSC_MULTIPLE_THREADS 0
+ #define USE_SYSTEM_MALLOC 0
+ #define ENABLE_ICONDATABASE 0
+ #define ENABLE_JAVASCRIPT_DEBUGGER 0
+ #define ENABLE_FTPDIR 0
+ #define ENABLE_PAN_SCROLLING 0
+ #define ENABLE_WML 1
+ #define HAVE_ACCESSIBILITY 0
+
+ #define NOMINMAX // Windows min and max conflict with standard macros
+ #define NOSHLWAPI // shlwapi.h not available on WinCe
+
+ // MSDN documentation says these functions are provided with uspce.lib. But we cannot find this file.
+ #define __usp10__ // disable "usp10.h"
+
+ #define _INC_ASSERT // disable "assert.h"
+ #define assert(x)
+
+ // _countof is only included in CE6; for CE5 we need to define it ourself
+ #ifndef _countof
+ #define _countof(x) (sizeof(x) / sizeof((x)[0]))
+ #endif
+
+ #endif /* PLATFORM(WINCE) && !PLATFORM(QT) */
+
/* for Unicode, KDE uses Qt */
#if PLATFORM(KDE) || PLATFORM(QT)
#define WTF_USE_QT4_UNICODE 1
- #elif PLATFORM(SYMBIAN)
- #define WTF_USE_SYMBIAN_UNICODE 1
#elif PLATFORM(GTK)
/* The GTK+ Unicode backend is configurable */
#else
@@@ -399,6 -426,16 +443,16 @@@
#endif
#endif /* !defined(HAVE_ACCESSIBILITY) */
+ #if PLATFORM(UNIX) && !PLATFORM(SYMBIAN)
+ #define HAVE_SIGNAL_H 1
+ #endif
+
+ #if !PLATFORM(WIN_OS) && !PLATFORM(SOLARIS) && !PLATFORM(SYMBIAN) && !COMPILER(RVCT)
+ #define HAVE_TM_GMTOFF 1
+ #define HAVE_TM_ZONE 1
+ #define HAVE_TIMEGM 1
+ #endif
+
#if PLATFORM(DARWIN)
#define HAVE_ERRNO_H 1
@@@ -423,7 -460,7 +477,7 @@@
#elif PLATFORM(WIN_OS)
#define HAVE_FLOAT_H 1
- #if PLATFORM(WIN_CE)
+ #if PLATFORM(WINCE)
#define HAVE_ERRNO_H 0
#else
#define HAVE_SYS_TIMEB_H 1
@@@ -529,6 -566,7 +583,7 @@@
#endif
#if !defined(ENABLE_JIT)
+
/* The JIT is tested & working on x86_64 Mac */
#if PLATFORM(X86_64) && PLATFORM(MAC)
#define ENABLE_JIT 1
@@@ -536,7 -574,7 +591,7 @@@
#elif PLATFORM(X86) && PLATFORM(MAC)
#define ENABLE_JIT 1
#define WTF_USE_JIT_STUB_ARGUMENT_VA_LIST 1
- #elif PLATFORM(ARM_V7) && PLATFORM(IPHONE)
+ #elif PLATFORM_ARM_ARCH(7) && PLATFORM(IPHONE)
/* Under development, temporarily disabled until 16Mb link range limit in assembler is fixed. */
#define ENABLE_JIT 0
#define ENABLE_JIT_OPTIMIZE_NATIVE_CALL 0
@@@ -544,8 -582,23 +599,23 @@@
#elif PLATFORM(X86) && PLATFORM(WIN)
#define ENABLE_JIT 1
#endif
+
+ #if PLATFORM(X86) && PLATFORM(QT)
+ #if PLATFORM(WIN_OS) && COMPILER(MINGW) && GCC_VERSION >= 40100
+ #define ENABLE_JIT 1
+ #define WTF_USE_JIT_STUB_ARGUMENT_VA_LIST 1
+ #elif PLATFORM(WIN_OS) && COMPILER(MSVC)
+ #define ENABLE_JIT 1
+ #define WTF_USE_JIT_STUB_ARGUMENT_REGISTER 1
+ #elif PLATFORM(LINUX) && GCC_VERSION >= 40100
+ #define ENABLE_JIT 1
+ #define WTF_USE_JIT_STUB_ARGUMENT_VA_LIST 1
#endif
+ #endif /* PLATFORM(QT) && PLATFORM(X86) */
+
+ #endif /* !defined(ENABLE_JIT) */
+ #if ENABLE(JIT)
#ifndef ENABLE_JIT_OPTIMIZE_CALL
#define ENABLE_JIT_OPTIMIZE_CALL 1
#endif
@@@ -561,6 -614,7 +631,7 @@@
#ifndef ENABLE_JIT_OPTIMIZE_METHOD_CALLS
#define ENABLE_JIT_OPTIMIZE_METHOD_CALLS 1
#endif
+ #endif
#if PLATFORM(X86) && COMPILER(MSVC)
#define JSC_HOST_CALL __fastcall
@@@ -581,15 -635,29 +652,29 @@@
#endif
/* Yet Another Regex Runtime. */
+ #if !defined(ENABLE_YARR_JIT)
+
/* YARR supports x86 & x86-64, and has been tested on Mac and Windows. */
- #if (!defined(ENABLE_YARR_JIT) && PLATFORM(X86) && PLATFORM(MAC)) \
- || (!defined(ENABLE_YARR_JIT) && PLATFORM(X86_64) && PLATFORM(MAC)) \
+ #if (PLATFORM(X86) && PLATFORM(MAC)) \
+ || (PLATFORM(X86_64) && PLATFORM(MAC)) \
/* Under development, temporarily disabled until 16Mb link range limit in assembler is fixed. */ \
- || (!defined(ENABLE_YARR_JIT) && PLATFORM(ARM_V7) && PLATFORM(IPHONE) && 0) \
- || (!defined(ENABLE_YARR_JIT) && PLATFORM(X86) && PLATFORM(WIN))
+ || (PLATFORM_ARM_ARCH(7) && PLATFORM(IPHONE) && 0) \
+ || (PLATFORM(X86) && PLATFORM(WIN))
+ #define ENABLE_YARR 1
+ #define ENABLE_YARR_JIT 1
+ #endif
+
+ #if PLATFORM(X86) && PLATFORM(QT)
+ #if (PLATFORM(WIN_OS) && COMPILER(MINGW) && GCC_VERSION >= 40100) \
+ || (PLATFORM(WIN_OS) && COMPILER(MSVC)) \
+ || (PLATFORM(LINUX) && GCC_VERSION >= 40100)
#define ENABLE_YARR 1
#define ENABLE_YARR_JIT 1
#endif
+ #endif
+
+ #endif /* !defined(ENABLE_YARR_JIT) */
+
/* Sanity Check */
#if ENABLE(YARR_JIT) && !ENABLE(YARR)
#error "YARR_JIT requires YARR"
@@@ -600,7 -668,7 +685,7 @@@
#endif
/* Setting this flag prevents the assembler from using RWX memory; this may improve
security but currectly comes at a significant performance cost. */
- #if PLATFORM(ARM_V7) && PLATFORM(IPHONE)
+ #if PLATFORM(ARM)
#define ENABLE_ASSEMBLER_WX_EXCLUSIVE 1
#else
#define ENABLE_ASSEMBLER_WX_EXCLUSIVE 0
@@@ -625,4 -693,15 +710,15 @@@
#define WTF_USE_FONT_FAST_PATH 1
#endif
+ /* Accelerated compositing */
+ #if PLATFORM(MAC)
+ #if !defined(BUILDING_ON_TIGER)
+ #define WTF_USE_ACCELERATED_COMPOSITING 1
+ #endif
+ #endif
+
+ #if PLATFORM(IPHONE)
+ #define WTF_USE_ACCELERATED_COMPOSITING 1
+ #endif
+
#endif /* WTF_Platform_h */
--
WebKit Debian packaging
More information about the Pkg-webkit-commits
mailing list