summaryrefslogtreecommitdiffstats
path: root/www/webkit-gtk2/files
diff options
context:
space:
mode:
authorkwm <kwm@df743ca5-7f9a-e211-a948-0013205c9059>2009-09-23 02:11:57 +0800
committerkwm <kwm@df743ca5-7f9a-e211-a948-0013205c9059>2009-09-23 02:11:57 +0800
commit883a531a5e561fa91868529e88a204f9b464dffd (patch)
tree8f7c9defa4a1fbc4fe37fa35de260e41eaa3654d /www/webkit-gtk2/files
parent1265ab6ef009fa796ed3260bf618d44ade9e5eaa (diff)
downloadmarcuscom-ports-883a531a5e561fa91868529e88a204f9b464dffd.tar
marcuscom-ports-883a531a5e561fa91868529e88a204f9b464dffd.tar.gz
marcuscom-ports-883a531a5e561fa91868529e88a204f9b464dffd.tar.bz2
marcuscom-ports-883a531a5e561fa91868529e88a204f9b464dffd.tar.lz
marcuscom-ports-883a531a5e561fa91868529e88a204f9b464dffd.tar.xz
marcuscom-ports-883a531a5e561fa91868529e88a204f9b464dffd.tar.zst
marcuscom-ports-883a531a5e561fa91868529e88a204f9b464dffd.zip
Update to 1.1.15.
git-svn-id: svn://creme-brulee.marcuscom.com/ports/trunk@12981 df743ca5-7f9a-e211-a948-0013205c9059
Diffstat (limited to 'www/webkit-gtk2/files')
-rw-r--r--www/webkit-gtk2/files/patch-JavaScriptCore_wtf_Platform.h10
-rw-r--r--www/webkit-gtk2/files/patch-bugfix-1.1.1575
2 files changed, 80 insertions, 5 deletions
diff --git a/www/webkit-gtk2/files/patch-JavaScriptCore_wtf_Platform.h b/www/webkit-gtk2/files/patch-JavaScriptCore_wtf_Platform.h
index c95df4ca2..1b4d9eec1 100644
--- a/www/webkit-gtk2/files/patch-JavaScriptCore_wtf_Platform.h
+++ b/www/webkit-gtk2/files/patch-JavaScriptCore_wtf_Platform.h
@@ -1,11 +1,11 @@
---- JavaScriptCore/wtf/Platform.h.orig 2009-08-28 13:44:10.000000000 -0400
-+++ JavaScriptCore/wtf/Platform.h 2009-08-28 13:46:18.000000000 -0400
-@@ -601,7 +601,7 @@
+--- JavaScriptCore/wtf/Platform.h.orig 2009-09-20 01:06:03.000000000 +0200
++++ JavaScriptCore/wtf/Platform.h 2009-09-21 22:01:16.000000000 +0200
+@@ -626,7 +626,7 @@
#endif
#if !defined(WTF_USE_JSVALUE64) && !defined(WTF_USE_JSVALUE32) && !defined(WTF_USE_JSVALUE32_64)
--#if PLATFORM(X86_64) && (PLATFORM(MAC) || PLATFORM(LINUX))
-+#if PLATFORM(X86_64) && (PLATFORM(MAC) || PLATFORM(LINUX) || PLATFORM(FREEBSD))
+-#if PLATFORM(X86_64) && (PLATFORM(DARWIN) || PLATFORM(LINUX))
++#if PLATFORM(X86_64) && (PLATFORM(DARWIN) || PLATFORM(LINUX) || PLATFORM(FREEBSD))
#define WTF_USE_JSVALUE64 1
#elif PLATFORM(ARM) || PLATFORM(PPC64)
#define WTF_USE_JSVALUE32 1
diff --git a/www/webkit-gtk2/files/patch-bugfix-1.1.15 b/www/webkit-gtk2/files/patch-bugfix-1.1.15
new file mode 100644
index 000000000..d3415e563
--- /dev/null
+++ b/www/webkit-gtk2/files/patch-bugfix-1.1.15
@@ -0,0 +1,75 @@
+--- ./JavaScriptCore/interpreter/Interpreter.cpp.orig 2009-09-21 13:39:42.000000000 +0200
++++ ./JavaScriptCore/interpreter/Interpreter.cpp 2009-09-22 13:04:01.000000000 +0200
+@@ -988,6 +988,10 @@ NEVER_INLINE void Interpreter::tryCacheP
+
+ // Structure transition, cache transition info
+ if (slot.type() == PutPropertySlot::NewProperty) {
++ if (structure->isDictionary()) {
++ vPC[0] = getOpcode(op_put_by_id_generic);
++ return;
++ }
+ vPC[0] = getOpcode(op_put_by_id_transition);
+ vPC[4] = structure->previousID();
+ vPC[5] = structure;
+--- ./JavaScriptCore/jit/JITStubs.cpp.orig 2009-09-21 13:39:42.000000000 +0200
++++ ./JavaScriptCore/jit/JITStubs.cpp 2009-09-22 13:04:02.000000000 +0200
+@@ -695,7 +695,7 @@ NEVER_INLINE void JITThunks::tryCachePut
+ // Structure transition, cache transition info
+ if (slot.type() == PutPropertySlot::NewProperty) {
+ StructureChain* prototypeChain = structure->prototypeChain(callFrame);
+- if (!prototypeChain->isCacheable()) {
++ if (!prototypeChain->isCacheable() || structure->isDictionary()) {
+ ctiPatchCallByReturnAddress(codeBlock, returnAddress, FunctionPtr(cti_op_put_by_id_generic));
+ return;
+ }
+--- ./LayoutTests/fast/js/resources/transition-cache-dictionary-crash.js.orig 2009-09-22 13:04:06.000000000 +0200
++++ ./LayoutTests/fast/js/resources/transition-cache-dictionary-crash.js 2009-09-22 13:04:06.000000000 +0200
+@@ -0,0 +1,19 @@
++description("Test to ensure we don't attempt to cache new property transitions on dictionary. Passes if you don't crash.");
++
++var cacheableDictionary = {};
++for (var i = 0; i < 500; i++)
++ cacheableDictionary["a" + i] = i;
++
++function f(o) {
++ o.crash = "doom!";
++}
++f({});
++f(cacheableDictionary);
++f(cacheableDictionary);
++f(cacheableDictionary);
++f(cacheableDictionary);
++f(cacheableDictionary);
++f(cacheableDictionary);
++f(cacheableDictionary);
++f(cacheableDictionary);
++successfullyParsed = true;
+--- ./LayoutTests/fast/js/transition-cache-dictionary-crash-expected.txt.orig 2009-09-22 13:04:06.000000000 +0200
++++ ./LayoutTests/fast/js/transition-cache-dictionary-crash-expected.txt 2009-09-22 13:04:06.000000000 +0200
+@@ -0,0 +1,9 @@
++Test to ensure we don't attempt to cache new property transitions on dictionary. Passes if you don't crash.
++
++On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
++
++
++PASS successfullyParsed is true
++
++TEST COMPLETE
++
+--- ./LayoutTests/fast/js/transition-cache-dictionary-crash.html.orig 2009-09-22 13:04:06.000000000 +0200
++++ ./LayoutTests/fast/js/transition-cache-dictionary-crash.html 2009-09-22 13:04:06.000000000 +0200
+@@ -0,0 +1,13 @@
++<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
++<html>
++<head>
++<link rel="stylesheet" href="resources/js-test-style.css">
++<script src="resources/js-test-pre.js"></script>
++</head>
++<body>
++<p id="description"></p>
++<div id="console"></div>
++<script src="resources/transition-cache-dictionary-crash.js"></script>
++<script src="resources/js-test-post.js"></script>
++</body>
++</html>
+\ No newline at end of file