[SCM] WebKit Debian packaging branch, debian/experimental, updated. upstream/1.3.3-10851-g50815da
oliver at apple.com
oliver at apple.com
Wed Dec 22 18:46:55 UTC 2010
The following commit has been merged in the debian/experimental branch:
commit 7cb46cbe390ca910b7fde1d4759d7f931596983e
Author: oliver at apple.com <oliver at apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date: Fri Dec 17 21:38:49 2010 +0000
2010-12-17 Oliver Hunt <oliver at apple.com>
Reviewed by Gavin Barraclough.
Incorrect encoding of some constants in ARMv7 JIT
https://bugs.webkit.org/show_bug.cgi?id=51273
<rdar://problem/8650210>
When using immediate encoding 3 we need to write the byte
that holds a duplicated value.
* assembler/ARMv7Assembler.h:
(JSC::ARMThumbImmediate::makeEncodedImm):
2010-12-17 Oliver Hunt <oliver at apple.com>
Reviewed by Gavin Barraclough.
Incorrect encoding of some constants in ARMv7 JIT
https://bugs.webkit.org/show_bug.cgi?id=51273
Add a few tests for different byte patterns in immediates.
* fast/js/constant-encoding-expected.txt: Added.
* fast/js/constant-encoding.html: Added.
* fast/js/script-tests/constant-encoding.js: Added.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@74291 268f45cc-cd09-0410-ab3c-d52691b4dbfc
diff --git a/JavaScriptCore/ChangeLog b/JavaScriptCore/ChangeLog
index c134e31..e2f6767 100644
--- a/JavaScriptCore/ChangeLog
+++ b/JavaScriptCore/ChangeLog
@@ -1,3 +1,17 @@
+2010-12-17 Oliver Hunt <oliver at apple.com>
+
+ Reviewed by Gavin Barraclough.
+
+ Incorrect encoding of some constants in ARMv7 JIT
+ https://bugs.webkit.org/show_bug.cgi?id=51273
+ <rdar://problem/8650210>
+
+ When using immediate encoding 3 we need to write the byte
+ that holds a duplicated value.
+
+ * assembler/ARMv7Assembler.h:
+ (JSC::ARMThumbImmediate::makeEncodedImm):
+
2010-12-16 Evan Martin <evan at chromium.org>
Reviewed by Darin Fisher.
diff --git a/JavaScriptCore/assembler/ARMv7Assembler.h b/JavaScriptCore/assembler/ARMv7Assembler.h
index b962b45..b0fcd06 100644
--- a/JavaScriptCore/assembler/ARMv7Assembler.h
+++ b/JavaScriptCore/assembler/ARMv7Assembler.h
@@ -304,7 +304,7 @@ public:
}
if ((bytes.byte1 == bytes.byte3) && !(bytes.byte0 | bytes.byte2)) {
- encoding.immediate = bytes.byte0;
+ encoding.immediate = bytes.byte1;
encoding.pattern = 2;
return ARMThumbImmediate(TypeEncoded, encoding);
}
diff --git a/LayoutTests/ChangeLog b/LayoutTests/ChangeLog
index bd10bc8..a59997a 100644
--- a/LayoutTests/ChangeLog
+++ b/LayoutTests/ChangeLog
@@ -1,3 +1,16 @@
+2010-12-17 Oliver Hunt <oliver at apple.com>
+
+ Reviewed by Gavin Barraclough.
+
+ Incorrect encoding of some constants in ARMv7 JIT
+ https://bugs.webkit.org/show_bug.cgi?id=51273
+
+ Add a few tests for different byte patterns in immediates.
+
+ * fast/js/constant-encoding-expected.txt: Added.
+ * fast/js/constant-encoding.html: Added.
+ * fast/js/script-tests/constant-encoding.js: Added.
+
2010-12-17 Jessie Berlin <jberlin at apple.com>
Rubber-stamped by Dan Bernstein.
diff --git a/LayoutTests/fast/js/constant-encoding-expected.txt b/LayoutTests/fast/js/constant-encoding-expected.txt
new file mode 100644
index 0000000..4ca80d0
--- /dev/null
+++ b/LayoutTests/fast/js/constant-encoding-expected.txt
@@ -0,0 +1,14 @@
+Test that we correctly encode patterned immediate values
+
+On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
+
+
+PASS 0 >= 0x01000100 is false
+PASS 0 >= 0x01010000 is false
+PASS 0 >= 0x00000101 is false
+PASS 0 >= 0x00010001 is false
+PASS 0 >= 0x01010101 is false
+PASS successfullyParsed is true
+
+TEST COMPLETE
+
diff --git a/LayoutTests/fast/js/constant-encoding.html b/LayoutTests/fast/js/constant-encoding.html
new file mode 100644
index 0000000..22593dc
--- /dev/null
+++ b/LayoutTests/fast/js/constant-encoding.html
@@ -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="script-tests/constant-encoding.js"></script>
+<script src="resources/js-test-post.js"></script>
+</body>
+</html>
diff --git a/LayoutTests/fast/js/script-tests/constant-encoding.js b/LayoutTests/fast/js/script-tests/constant-encoding.js
new file mode 100644
index 0000000..57ea1d4
--- /dev/null
+++ b/LayoutTests/fast/js/script-tests/constant-encoding.js
@@ -0,0 +1,9 @@
+description("Test that we correctly encode patterned immediate values");
+
+shouldBeFalse("0 >= 0x01000100")
+shouldBeFalse("0 >= 0x01010000")
+shouldBeFalse("0 >= 0x00000101")
+shouldBeFalse("0 >= 0x00010001")
+shouldBeFalse("0 >= 0x01010101")
+
+var successfullyParsed = true;
--
WebKit Debian packaging
More information about the Pkg-webkit-commits
mailing list