[SCM] WebKit Debian packaging branch, debian/unstable, updated. debian/1.1.15-1-40151-g37bb677
darin
darin at 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Sat Sep 26 06:30:40 UTC 2009
The following commit has been merged in the debian/unstable branch:
commit 2dbbd423410d635584d88dd2f4cbabef5db4b4a4
Author: darin <darin at 268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date: Sat Aug 10 04:31:50 2002 +0000
JavaScriptCore:
Some string speedups. Makes sony.com cached 11% faster.
* kjs/ustring.h: Made it possible for UChar objects to be uninitialized, which
gives a speed boost. Inlined CString's +=, UString's destructor, +=, and +.
* kjs/ustring.cpp:
(UString::UString): Optimize const char * version, which showed up
heavily in performance analysis. Added new two-UString version, which
makes the + operator fast.
(UString::ascii): Remove thread safety changes. Change static buffer to remember
its size, and to always be at least 4096 bytes long; that way we never have to
reallocate unless it's for a long string. Also make code to extract the characters
significantly faster by getting rid of two pointer dereferences per character.
(UString::is8Bit): Avoid one pointer dereference per character.
(UString::toDouble): Use ascii() instead of cstring() to avoid copying the string.
* kjs/collector.cpp: Remove unneeded APPLE_CHANGES.
* kjs/regexp.cpp: Remove ifdefs around some APPLE_CHANGES that we
want to keep, because they just fix warnings.
* kjs/value.h: Remove obsolete APPLE_CHANGES comment.
* JavaScriptCore.pbproj/project.pbxproj: Project Builder decided
to move a line around in the file.
WebCore:
* force-clean-timestamp: JavaScriptCore headers changed that require a full build here.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@1791 268f45cc-cd09-0410-ab3c-d52691b4dbfc
diff --git a/JavaScriptCore/ChangeLog b/JavaScriptCore/ChangeLog
index 4619ae7..33c0db1 100644
--- a/JavaScriptCore/ChangeLog
+++ b/JavaScriptCore/ChangeLog
@@ -1,3 +1,28 @@
+2002-08-09 Darin Adler <darin at apple.com>
+
+ Some string speedups. Makes sony.com cached 11% faster.
+
+ * kjs/ustring.h: Made it possible for UChar objects to be uninitialized, which
+ gives a speed boost. Inlined CString's +=, UString's destructor, +=, and +.
+ * kjs/ustring.cpp:
+ (UString::UString): Optimize const char * version, which showed up
+ heavily in performance analysis. Added new two-UString version, which
+ makes the + operator fast.
+ (UString::ascii): Remove thread safety changes. Change static buffer to remember
+ its size, and to always be at least 4096 bytes long; that way we never have to
+ reallocate unless it's for a long string. Also make code to extract the characters
+ significantly faster by getting rid of two pointer dereferences per character.
+ (UString::is8Bit): Avoid one pointer dereference per character.
+ (UString::toDouble): Use ascii() instead of cstring() to avoid copying the string.
+
+ * kjs/collector.cpp: Remove unneeded APPLE_CHANGES.
+ * kjs/regexp.cpp: Remove ifdefs around some APPLE_CHANGES that we
+ want to keep, because they just fix warnings.
+ * kjs/value.h: Remove obsolete APPLE_CHANGES comment.
+
+ * JavaScriptCore.pbproj/project.pbxproj: Project Builder decided
+ to move a line around in the file.
+
2002-08-09 Maciej Stachowiak <mjs at apple.com>
Fix my last change to actually call the versions of the lock functions
diff --git a/JavaScriptCore/ChangeLog-2002-12-03 b/JavaScriptCore/ChangeLog-2002-12-03
index 4619ae7..33c0db1 100644
--- a/JavaScriptCore/ChangeLog-2002-12-03
+++ b/JavaScriptCore/ChangeLog-2002-12-03
@@ -1,3 +1,28 @@
+2002-08-09 Darin Adler <darin at apple.com>
+
+ Some string speedups. Makes sony.com cached 11% faster.
+
+ * kjs/ustring.h: Made it possible for UChar objects to be uninitialized, which
+ gives a speed boost. Inlined CString's +=, UString's destructor, +=, and +.
+ * kjs/ustring.cpp:
+ (UString::UString): Optimize const char * version, which showed up
+ heavily in performance analysis. Added new two-UString version, which
+ makes the + operator fast.
+ (UString::ascii): Remove thread safety changes. Change static buffer to remember
+ its size, and to always be at least 4096 bytes long; that way we never have to
+ reallocate unless it's for a long string. Also make code to extract the characters
+ significantly faster by getting rid of two pointer dereferences per character.
+ (UString::is8Bit): Avoid one pointer dereference per character.
+ (UString::toDouble): Use ascii() instead of cstring() to avoid copying the string.
+
+ * kjs/collector.cpp: Remove unneeded APPLE_CHANGES.
+ * kjs/regexp.cpp: Remove ifdefs around some APPLE_CHANGES that we
+ want to keep, because they just fix warnings.
+ * kjs/value.h: Remove obsolete APPLE_CHANGES comment.
+
+ * JavaScriptCore.pbproj/project.pbxproj: Project Builder decided
+ to move a line around in the file.
+
2002-08-09 Maciej Stachowiak <mjs at apple.com>
Fix my last change to actually call the versions of the lock functions
diff --git a/JavaScriptCore/ChangeLog-2003-10-25 b/JavaScriptCore/ChangeLog-2003-10-25
index 4619ae7..33c0db1 100644
--- a/JavaScriptCore/ChangeLog-2003-10-25
+++ b/JavaScriptCore/ChangeLog-2003-10-25
@@ -1,3 +1,28 @@
+2002-08-09 Darin Adler <darin at apple.com>
+
+ Some string speedups. Makes sony.com cached 11% faster.
+
+ * kjs/ustring.h: Made it possible for UChar objects to be uninitialized, which
+ gives a speed boost. Inlined CString's +=, UString's destructor, +=, and +.
+ * kjs/ustring.cpp:
+ (UString::UString): Optimize const char * version, which showed up
+ heavily in performance analysis. Added new two-UString version, which
+ makes the + operator fast.
+ (UString::ascii): Remove thread safety changes. Change static buffer to remember
+ its size, and to always be at least 4096 bytes long; that way we never have to
+ reallocate unless it's for a long string. Also make code to extract the characters
+ significantly faster by getting rid of two pointer dereferences per character.
+ (UString::is8Bit): Avoid one pointer dereference per character.
+ (UString::toDouble): Use ascii() instead of cstring() to avoid copying the string.
+
+ * kjs/collector.cpp: Remove unneeded APPLE_CHANGES.
+ * kjs/regexp.cpp: Remove ifdefs around some APPLE_CHANGES that we
+ want to keep, because they just fix warnings.
+ * kjs/value.h: Remove obsolete APPLE_CHANGES comment.
+
+ * JavaScriptCore.pbproj/project.pbxproj: Project Builder decided
+ to move a line around in the file.
+
2002-08-09 Maciej Stachowiak <mjs at apple.com>
Fix my last change to actually call the versions of the lock functions
diff --git a/JavaScriptCore/JavaScriptCore.pbproj/project.pbxproj b/JavaScriptCore/JavaScriptCore.pbproj/project.pbxproj
index cb0250e..ee2bf5e 100644
--- a/JavaScriptCore/JavaScriptCore.pbproj/project.pbxproj
+++ b/JavaScriptCore/JavaScriptCore.pbproj/project.pbxproj
@@ -427,8 +427,8 @@
);
buildSettings = {
INSTALL_PATH = "@executable_path/../Frameworks";
- i386 = YES;
SKIP_INSTALL = YES;
+ i386 = YES;
};
isa = PBXBuildStyle;
name = DeploymentFat;
diff --git a/JavaScriptCore/kjs/collector.cpp b/JavaScriptCore/kjs/collector.cpp
index ee1df03..7da005c 100644
--- a/JavaScriptCore/kjs/collector.cpp
+++ b/JavaScriptCore/kjs/collector.cpp
@@ -29,9 +29,6 @@
#ifdef KJS_DEBUG_MEM
#include <typeinfo>
#endif
-#ifdef APPLE_CHANGES
-#include <pthread.h>
-#endif
namespace KJS {
diff --git a/JavaScriptCore/kjs/regexp.cpp b/JavaScriptCore/kjs/regexp.cpp
index ad405b7..1ea880c 100644
--- a/JavaScriptCore/kjs/regexp.cpp
+++ b/JavaScriptCore/kjs/regexp.cpp
@@ -114,11 +114,7 @@ UString RegExp::match(const UString &s, int i, int *pos, int **ovector)
if (!ovector)
return UString::null; // don't rely on the return value if you pass ovector==0
#else
-#ifdef APPLE_CHANGES
const uint maxMatch = 10;
-#else
- const int maxMatch = 10;
-#endif
regmatch_t rmatch[maxMatch];
char *str = strdup(s.ascii()); // TODO: why ???
@@ -135,29 +131,17 @@ UString RegExp::match(const UString &s, int i, int *pos, int **ovector)
// map rmatch array to ovector used in PCRE case
nrSubPatterns = 0;
-#ifdef APPLE_CHANGES
for(uint j = 1; j < maxMatch && rmatch[j].rm_so >= 0 ; j++)
-#else
- for(int j = 1; j < maxMatch && rmatch[j].rm_so >= 0 ; j++)
-#endif
nrSubPatterns++;
int ovecsize = (nrSubPatterns+1)*3; // see above
*ovector = new int[ovecsize];
-#ifdef APPLE_CHANGES
for (uint j = 0; j < nrSubPatterns + 1; j++) {
-#else
- for (int j = 0; j < nrSubPatterns + 1; j++) {
-#endif
if (j>maxMatch)
break;
(*ovector)[2*j] = rmatch[j].rm_so + i;
(*ovector)[2*j+1] = rmatch[j].rm_eo + i;
-#ifdef APPLE_CHANGES
- } // balance extra { so we don't confuse prepare-ChangeLog
-#else
}
#endif
-#endif
*pos = (*ovector)[0];
return s.substr((*ovector)[0], (*ovector)[1] - (*ovector)[0]);
diff --git a/JavaScriptCore/kjs/ustring.cpp b/JavaScriptCore/kjs/ustring.cpp
index 0f04e7b..e725cd4 100644
--- a/JavaScriptCore/kjs/ustring.cpp
+++ b/JavaScriptCore/kjs/ustring.cpp
@@ -103,11 +103,6 @@ CString &CString::operator=(const CString &str)
return *this;
}
-CString &CString::operator+=(const CString &str)
-{
- return append(str.c_str());
-}
-
int CString::size() const
{
return strlen(data);
@@ -119,18 +114,11 @@ bool KJS::operator==(const KJS::CString& c1, const KJS::CString& c2)
}
UChar UChar::null;
-#ifdef APPLE_CHANGES
UString::Rep UString::Rep::null = { 0, 0, 0, 1 };
-#else
-UString::Rep UString::Rep::null = { 0, 0, 1 };
-#endif
UString UString::null;
-#ifdef APPLE_CHANGES
-static pthread_once_t statBufferKeyOnce = PTHREAD_ONCE_INIT;
-static pthread_key_t statBufferKey;
-#else
-static char *statBuffer = 0L;
-#endif
+const int normalStatBufferSize = 4096;
+static char *statBuffer = 0;
+static int statBufferSize = 0;
UChar::UChar(const UCharReference &c)
: uc( c.unicode() )
@@ -139,11 +127,11 @@ UChar::UChar(const UCharReference &c)
UChar UChar::toLower() const
{
- // ### properly supprot unicode tolower
+ // ### properly support unicode tolower
if (uc >= 256 || islower(uc))
return *this;
- return UChar(tolower(uc));
+ return (unsigned char)tolower(uc);
}
UChar UChar::toUpper() const
@@ -151,7 +139,7 @@ UChar UChar::toUpper() const
if (uc >= 256 || isupper(uc))
return *this;
- return UChar(toupper(uc));
+ return (unsigned char)toupper(uc);
}
UCharReference& UCharReference::operator=(UChar c)
@@ -176,9 +164,7 @@ UString::Rep *UString::Rep::create(UChar *d, int l)
Rep *r = new Rep;
r->dat = d;
r->len = l;
-#ifdef APPLE_CHANGES
r->capacity = l;
-#endif
r->rc = 1;
return r;
@@ -193,14 +179,21 @@ UString::UString()
UString::UString(char c)
{
UChar *d = new UChar[1];
- d[0] = UChar(0, c);
+ d[0] = c;
rep = Rep::create(d, 1);
}
UString::UString(const char *c)
{
- attach(&Rep::null);
- operator=(c);
+ if (!c) {
+ attach(&Rep::null);
+ return;
+ }
+ int length = strlen(c);
+ UChar *d = new UChar[length];
+ for (int i = 0; i < length; i++)
+ d[i].uc = c[i];
+ rep = Rep::create(d, length);
}
UString::UString(const UChar *c, int length)
@@ -226,9 +219,14 @@ UString::UString(const UString &b)
attach(b.rep);
}
-UString::~UString()
+UString::UString(const UString &a, const UString &b)
{
- release();
+ int aSize = a.size();
+ int bSize = b.size();
+ UChar *d = new UChar[aSize + bSize];
+ memcpy(d, a.data(), aSize * sizeof(UChar));
+ memcpy(d + aSize, b.data(), bSize * sizeof(UChar));
+ rep = Rep::create(d, aSize + bSize);
}
UString UString::from(int i)
@@ -274,7 +272,6 @@ UString UString::from(double d)
UString &UString::append(const UString &t)
{
-#ifdef APPLE_CHANGES
int l = size();
int tLen = t.size();
int newLen = l + tLen;
@@ -291,53 +288,40 @@ UString &UString::append(const UString &t)
release();
rep = Rep::create(n, newLen);
rep->capacity = newCapacity;
-#else
- int l = size();
- UChar *n = new UChar[l+t.size()];
- memcpy(n, data(), l * sizeof(UChar));
- memcpy(n+l, t.data(), t.size() * sizeof(UChar));
- release();
- rep = Rep::create(n, l + t.size());
-#endif
return *this;
}
CString UString::cstring() const
{
- return CString(ascii());
+ return ascii();
}
-#ifdef APPLE_CHANGES
-static void statBufferKeyCleanup(void *statBuffer)
-{
- if (statBuffer != NULL)
- delete [] (char *)statBuffer;
-}
-
-static void statBufferKeyInit(void)
-{
- pthread_key_create(&statBufferKey, statBufferKeyCleanup);
-}
-#endif
-
char *UString::ascii() const
{
-#ifdef APPLE_CHANGES
- pthread_once(&statBufferKeyOnce, statBufferKeyInit);
- char *statBuffer = (char *)pthread_getspecific(statBufferKey);
-#endif
- if (statBuffer)
+ // Never make the buffer smaller than normalStatBufferSize.
+ // Thus we almost never need to reallocate.
+ int length = size();
+ int neededSize = length + 1;
+ if (neededSize < normalStatBufferSize) {
+ neededSize = normalStatBufferSize;
+ }
+ if (neededSize != statBufferSize) {
delete [] statBuffer;
+ statBuffer = new char [neededSize];
+ statBufferSize = neededSize;
+ }
+
+ const UChar *p = data();
+ char *q = statBuffer;
+ const UChar *limit = p + length;
+ while (p != limit) {
+ *q = p->uc;
+ ++p;
+ ++q;
+ }
+ *q = '\0';
- statBuffer = new char[size()+1];
- for(int i = 0; i < size(); i++)
- statBuffer[i] = data()[i].low();
- statBuffer[size()] = '\0';
-
-#ifdef APPLE_CHANGES
- pthread_setspecific(statBufferKey, statBuffer);
-#endif
return statBuffer;
}
@@ -345,13 +329,13 @@ char *UString::ascii() const
void UString::globalClear()
{
delete [] statBuffer;
- statBuffer = 0L;
+ statBuffer = 0;
+ statBufferSize = 0;
}
#endif
UString &UString::operator=(const char *c)
{
-#ifdef APPLE_CHANGES
int l = c ? strlen(c) : 0;
UChar *d;
if (rep->rc == 1 && l < rep->capacity) {
@@ -362,16 +346,7 @@ UString &UString::operator=(const char *c)
rep = Rep::create(d, l);
}
for (int i = 0; i < l; i++)
- d[i].uc = (uchar)c[i];
-#else
- release();
- int l = c ? strlen(c) : 0;
-
- UChar *d = new UChar[l];
- for (int i = 0; i < l; i++)
d[i].uc = c[i];
- rep = Rep::create(d, l);
-#endif
return *this;
}
@@ -385,17 +360,15 @@ UString &UString::operator=(const UString &str)
return *this;
}
-UString &UString::operator+=(const UString &s)
-{
- return append(s);
-}
-
bool UString::is8Bit() const
{
const UChar *u = data();
- for(int i = 0; i < size(); i++, u++)
+ const UChar *limit = u + size();
+ while (u < limit) {
if (u->uc > 0xFF)
return false;
+ ++u;
+ }
return true;
}
@@ -421,8 +394,7 @@ double UString::toDouble( bool tolerant ) const
if (!is8Bit())
return NaN;
- CString str = cstring();
- const char *c = str.c_str();
+ const char *c = ascii();
// skip leading white space
while (isspace(*c))
@@ -614,11 +586,3 @@ bool KJS::operator<(const UString& s1, const UString& s2)
return (l1 < l2);
}
-
-UString KJS::operator+(const UString& s1, const UString& s2)
-{
- UString tmp(s1);
- tmp.append(s2);
-
- return tmp;
-}
diff --git a/JavaScriptCore/kjs/ustring.h b/JavaScriptCore/kjs/ustring.h
index 9fe3e24..67a6c4a 100644
--- a/JavaScriptCore/kjs/ustring.h
+++ b/JavaScriptCore/kjs/ustring.h
@@ -55,15 +55,9 @@ namespace KJS {
* possible to exchange data with X and Qt with shallow copies.
*/
struct UChar {
-#ifdef APPLE_CHANGES
/**
* Construct a character with uninitialized value.
*/
-#else
- /**
- * Construct a character with value 0.
- */
-#endif
UChar();
/**
* Construct a character with the value denoted by the arguments.
@@ -75,6 +69,8 @@ namespace KJS {
* Construct a character with the given value.
* @param u 16 bit Unicode value
*/
+ UChar(char u);
+ UChar(unsigned char u);
UChar(unsigned short u);
UChar(const UCharReference &c);
/**
@@ -84,7 +80,7 @@ namespace KJS {
/**
* @return The lower byte of the character.
*/
- unsigned char low() const { return uc & 0xFF; }
+ unsigned char low() const { return uc; }
/**
* @return the 16 bit Unicode value of the character
*/
@@ -112,12 +108,10 @@ namespace KJS {
unsigned short uc;
};
-#ifdef APPLE_CHANGES
- inline UChar::UChar() : uc(0) { }
-#else
inline UChar::UChar() { }
-#endif
inline UChar::UChar(unsigned char h , unsigned char l) : uc(h << 8 | l) { }
+ inline UChar::UChar(char u) : uc((unsigned char)u) { }
+ inline UChar::UChar(unsigned char u) : uc(u) { }
inline UChar::UChar(unsigned short u) : uc(u) { }
/**
@@ -189,7 +183,7 @@ namespace KJS {
CString &append(const CString &);
CString &operator=(const char *c);
CString &operator=(const CString &);
- CString &operator+=(const CString &);
+ CString &operator+=(const CString &c) { return append(c); }
int size() const;
const char *c_str() const { return data; }
@@ -218,9 +212,7 @@ namespace KJS {
UChar *dat;
int len;
-#ifdef APPLE_CHANGES
int capacity;
-#endif
int rc;
static Rep null;
};
@@ -243,21 +235,12 @@ namespace KJS {
* length.
*/
UString(const UChar *c, int length);
-#ifdef APPLE_CHANGES
/**
* If copy is false the string data will be adopted.
* That means that the data will NOT be copied and the pointer will
* be deleted when the UString object is modified or destroyed.
* Behaviour defaults to a deep copy if copy is true.
*/
-#else
- /**
- * If copy is false a shallow copy of the string will be created. That
- * means that the data will NOT be copied and you'll have to guarantee that
- * it doesn't get deleted during the lifetime of the UString object.
- * Behaviour defaults to a deep copy if copy is true.
- */
-#endif
UString(UChar *c, int length, bool copy);
/**
* Copy constructor. Makes a shallow copy only.
@@ -276,10 +259,14 @@ namespace KJS {
*/
UString(const DOM::DOMString &);
/**
+ * Concatenation constructor. Makes operator+ more efficient.
+ */
+ UString(const UString &, const UString &);
+ /**
* Destructor. If this handle was the only one holding a reference to the
* string the data will be freed.
*/
- ~UString();
+ ~UString() { release(); }
/**
* Constructs a string from an int.
@@ -335,7 +322,7 @@ namespace KJS {
/**
* Appends the specified string.
*/
- UString &operator+=(const UString &s);
+ UString &operator+=(const UString &s) { return append(s); }
/**
* @return A pointer to the internal Unicode data.
@@ -434,7 +421,9 @@ namespace KJS {
return !KJS::operator==(s1, s2);
}
bool operator==(const CString& s1, const CString& s2);
- UString operator+(const UString& s1, const UString& s2);
+ inline UString operator+(const UString& s1, const UString& s2) {
+ return UString(s1, s2);
+ }
}; // namespace
diff --git a/JavaScriptCore/kjs/value.h b/JavaScriptCore/kjs/value.h
index df3aebd..e24d79c 100644
--- a/JavaScriptCore/kjs/value.h
+++ b/JavaScriptCore/kjs/value.h
@@ -94,30 +94,6 @@ namespace KJS {
ValueImp();
virtual ~ValueImp();
-#ifdef APPLE_CHANGES
- // The collector lock is not locked around the ref() and unref()
- // methods for the following reasons:
- //
- // - The only cases where changing the refcount could possibly
- // affect the collector's behavior is incrementing from 0 to 1,
- // and decrementing from 1 to 0.
- //
- // - In the 0 to 1 case, the GC allowed flag will always be off
- // beforehand, and set right afterwards. And setting it grabs the
- // collector lock. So if this happens in the middle of GC, the
- // collector will see either a refcount 0 GC not allowed object,
- // or a refcount 1 GC not allowed object, and these cases are
- // treated exactly the same.
- //
- // - In the 1 to 0 case, the only possible bad effect is that the
- // object will live for one GC cycle longer than it should have
- // to, which is really not so bad.
- //
- // - In theory on some platforms increment or decrement could make
- // other threads see intermediate values that are different from
- // both the start and end value. If that turns out to really be
- // the case we will have to reconsider this scheme.
-#endif
inline ValueImp* ref() { refcount++; return this; }
inline bool deref() { return (!--refcount); }
unsigned int refcount;
diff --git a/WebCore/ChangeLog-2002-12-03 b/WebCore/ChangeLog-2002-12-03
index e6cc894..1fb05e9 100644
--- a/WebCore/ChangeLog-2002-12-03
+++ b/WebCore/ChangeLog-2002-12-03
@@ -1,5 +1,9 @@
2002-08-09 Darin Adler <darin at apple.com>
+ * force-clean-timestamp: JavaScriptCore headers changed that require a full build here.
+
+2002-08-09 Darin Adler <darin at apple.com>
+
- fixed 3018063 -- frame problems at directory.apple.com
- fixed 3021484 -- Go to "xxxx" mouseover status message should not show ".."
diff --git a/WebCore/ChangeLog-2003-10-25 b/WebCore/ChangeLog-2003-10-25
index e6cc894..1fb05e9 100644
--- a/WebCore/ChangeLog-2003-10-25
+++ b/WebCore/ChangeLog-2003-10-25
@@ -1,5 +1,9 @@
2002-08-09 Darin Adler <darin at apple.com>
+ * force-clean-timestamp: JavaScriptCore headers changed that require a full build here.
+
+2002-08-09 Darin Adler <darin at apple.com>
+
- fixed 3018063 -- frame problems at directory.apple.com
- fixed 3021484 -- Go to "xxxx" mouseover status message should not show ".."
diff --git a/WebCore/ChangeLog-2005-08-23 b/WebCore/ChangeLog-2005-08-23
index e6cc894..1fb05e9 100644
--- a/WebCore/ChangeLog-2005-08-23
+++ b/WebCore/ChangeLog-2005-08-23
@@ -1,5 +1,9 @@
2002-08-09 Darin Adler <darin at apple.com>
+ * force-clean-timestamp: JavaScriptCore headers changed that require a full build here.
+
+2002-08-09 Darin Adler <darin at apple.com>
+
- fixed 3018063 -- frame problems at directory.apple.com
- fixed 3021484 -- Go to "xxxx" mouseover status message should not show ".."
diff --git a/WebCore/force-clean-timestamp b/WebCore/force-clean-timestamp
index 0359954..640ae12 100644
--- a/WebCore/force-clean-timestamp
+++ b/WebCore/force-clean-timestamp
@@ -1 +1 @@
-Some WebCore change on 8/6, not sure which checkin caused it. Checked in this file after the fact to help others -- John
\ No newline at end of file
+JavaScriptCore changes 8/9
--
WebKit Debian packaging
More information about the Pkg-webkit-commits
mailing list