diff options
author | kwm <kwm@df743ca5-7f9a-e211-a948-0013205c9059> | 2009-09-23 02:11:57 +0800 |
---|---|---|
committer | kwm <kwm@df743ca5-7f9a-e211-a948-0013205c9059> | 2009-09-23 02:11:57 +0800 |
commit | 883a531a5e561fa91868529e88a204f9b464dffd (patch) | |
tree | 8f7c9defa4a1fbc4fe37fa35de260e41eaa3654d /www/webkit-gtk2/files | |
parent | 1265ab6ef009fa796ed3260bf618d44ade9e5eaa (diff) | |
download | marcuscom-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.h | 10 | ||||
-rw-r--r-- | www/webkit-gtk2/files/patch-bugfix-1.1.15 | 75 |
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 |