[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