Title: [122047] trunk
Revision
122047
Author
fpi...@apple.com
Date
2012-07-06 17:43:21 -0700 (Fri, 06 Jul 2012)

Log Message

WebKit Version 5.1.7 (6534.57.2, r121935): Double-click no longer works on OpenStreetMap
https://bugs.webkit.org/show_bug.cgi?id=90703

Source/_javascript_Core: 

Reviewed by Michael Saboff.
        
It turns out that in my object model refactoring, I managed to fix get_by_pname in all
execution engines except 64-bit baseline JIT.

* jit/JITPropertyAccess.cpp:
(JSC::JIT::emit_op_get_by_pname):

LayoutTests: 

Reviewed by Michael Saboff.

* fast/js/get-by-pname-expected.txt: Added.
* fast/js/get-by-pname-non-final-object-expected.txt: Added.
* fast/js/get-by-pname-non-final-object.html: Added.
* fast/js/get-by-pname.html: Added.
* fast/js/jsc-test-list:
* fast/js/script-tests/get-by-pname-non-final-object.js: Added.
(foo):
* fast/js/script-tests/get-by-pname.js: Added.
(foo):

Modified Paths

Added Paths

Diff

Modified: trunk/LayoutTests/ChangeLog (122046 => 122047)


--- trunk/LayoutTests/ChangeLog	2012-07-07 00:23:31 UTC (rev 122046)
+++ trunk/LayoutTests/ChangeLog	2012-07-07 00:43:21 UTC (rev 122047)
@@ -1,5 +1,22 @@
 2012-07-06  Filip Pizlo  <fpi...@apple.com>
 
+        WebKit Version 5.1.7 (6534.57.2, r121935): Double-click no longer works on OpenStreetMap
+        https://bugs.webkit.org/show_bug.cgi?id=90703
+
+        Reviewed by Michael Saboff.
+
+        * fast/js/get-by-pname-expected.txt: Added.
+        * fast/js/get-by-pname-non-final-object-expected.txt: Added.
+        * fast/js/get-by-pname-non-final-object.html: Added.
+        * fast/js/get-by-pname.html: Added.
+        * fast/js/jsc-test-list:
+        * fast/js/script-tests/get-by-pname-non-final-object.js: Added.
+        (foo):
+        * fast/js/script-tests/get-by-pname.js: Added.
+        (foo):
+
+2012-07-06  Filip Pizlo  <fpi...@apple.com>
+
         fast/canvas/webgl/gl-vertexattribpointer.html is crashing
         https://bugs.webkit.org/show_bug.cgi?id=90711
 

Added: trunk/LayoutTests/fast/js/get-by-pname-expected.txt (0 => 122047)


--- trunk/LayoutTests/fast/js/get-by-pname-expected.txt	                        (rev 0)
+++ trunk/LayoutTests/fast/js/get-by-pname-expected.txt	2012-07-07 00:43:21 UTC (rev 122047)
@@ -0,0 +1,509 @@
+This tests that op_get_by_pname is compiled correctly.
+
+On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
+
+
+PASS foo(o) is 11
+PASS foo(p) is 10
+PASS foo(q) is 3467
+PASS foo(r) is 113
+PASS foo(s) is 182
+PASS foo(o) is 11
+PASS foo(p) is 10
+PASS foo(q) is 3467
+PASS foo(r) is 113
+PASS foo(s) is 182
+PASS foo(o) is 11
+PASS foo(p) is 10
+PASS foo(q) is 3467
+PASS foo(r) is 113
+PASS foo(s) is 182
+PASS foo(o) is 11
+PASS foo(p) is 10
+PASS foo(q) is 3467
+PASS foo(r) is 113
+PASS foo(s) is 182
+PASS foo(o) is 11
+PASS foo(p) is 10
+PASS foo(q) is 3467
+PASS foo(r) is 113
+PASS foo(s) is 182
+PASS foo(o) is 11
+PASS foo(p) is 10
+PASS foo(q) is 3467
+PASS foo(r) is 113
+PASS foo(s) is 182
+PASS foo(o) is 11
+PASS foo(p) is 10
+PASS foo(q) is 3467
+PASS foo(r) is 113
+PASS foo(s) is 182
+PASS foo(o) is 11
+PASS foo(p) is 10
+PASS foo(q) is 3467
+PASS foo(r) is 113
+PASS foo(s) is 182
+PASS foo(o) is 11
+PASS foo(p) is 10
+PASS foo(q) is 3467
+PASS foo(r) is 113
+PASS foo(s) is 182
+PASS foo(o) is 11
+PASS foo(p) is 10
+PASS foo(q) is 3467
+PASS foo(r) is 113
+PASS foo(s) is 182
+PASS foo(o) is 11
+PASS foo(p) is 10
+PASS foo(q) is 3467
+PASS foo(r) is 113
+PASS foo(s) is 182
+PASS foo(o) is 11
+PASS foo(p) is 10
+PASS foo(q) is 3467
+PASS foo(r) is 113
+PASS foo(s) is 182
+PASS foo(o) is 11
+PASS foo(p) is 10
+PASS foo(q) is 3467
+PASS foo(r) is 113
+PASS foo(s) is 182
+PASS foo(o) is 11
+PASS foo(p) is 10
+PASS foo(q) is 3467
+PASS foo(r) is 113
+PASS foo(s) is 182
+PASS foo(o) is 11
+PASS foo(p) is 10
+PASS foo(q) is 3467
+PASS foo(r) is 113
+PASS foo(s) is 182
+PASS foo(o) is 11
+PASS foo(p) is 10
+PASS foo(q) is 3467
+PASS foo(r) is 113
+PASS foo(s) is 182
+PASS foo(o) is 11
+PASS foo(p) is 10
+PASS foo(q) is 3467
+PASS foo(r) is 113
+PASS foo(s) is 182
+PASS foo(o) is 11
+PASS foo(p) is 10
+PASS foo(q) is 3467
+PASS foo(r) is 113
+PASS foo(s) is 182
+PASS foo(o) is 11
+PASS foo(p) is 10
+PASS foo(q) is 3467
+PASS foo(r) is 113
+PASS foo(s) is 182
+PASS foo(o) is 11
+PASS foo(p) is 10
+PASS foo(q) is 3467
+PASS foo(r) is 113
+PASS foo(s) is 182
+PASS foo(o) is 11
+PASS foo(p) is 10
+PASS foo(q) is 3467
+PASS foo(r) is 113
+PASS foo(s) is 182
+PASS foo(o) is 11
+PASS foo(p) is 10
+PASS foo(q) is 3467
+PASS foo(r) is 113
+PASS foo(s) is 182
+PASS foo(o) is 11
+PASS foo(p) is 10
+PASS foo(q) is 3467
+PASS foo(r) is 113
+PASS foo(s) is 182
+PASS foo(o) is 11
+PASS foo(p) is 10
+PASS foo(q) is 3467
+PASS foo(r) is 113
+PASS foo(s) is 182
+PASS foo(o) is 11
+PASS foo(p) is 10
+PASS foo(q) is 3467
+PASS foo(r) is 113
+PASS foo(s) is 182
+PASS foo(o) is 11
+PASS foo(p) is 10
+PASS foo(q) is 3467
+PASS foo(r) is 113
+PASS foo(s) is 182
+PASS foo(o) is 11
+PASS foo(p) is 10
+PASS foo(q) is 3467
+PASS foo(r) is 113
+PASS foo(s) is 182
+PASS foo(o) is 11
+PASS foo(p) is 10
+PASS foo(q) is 3467
+PASS foo(r) is 113
+PASS foo(s) is 182
+PASS foo(o) is 11
+PASS foo(p) is 10
+PASS foo(q) is 3467
+PASS foo(r) is 113
+PASS foo(s) is 182
+PASS foo(o) is 11
+PASS foo(p) is 10
+PASS foo(q) is 3467
+PASS foo(r) is 113
+PASS foo(s) is 182
+PASS foo(o) is 11
+PASS foo(p) is 10
+PASS foo(q) is 3467
+PASS foo(r) is 113
+PASS foo(s) is 182
+PASS foo(o) is 11
+PASS foo(p) is 10
+PASS foo(q) is 3467
+PASS foo(r) is 113
+PASS foo(s) is 182
+PASS foo(o) is 11
+PASS foo(p) is 10
+PASS foo(q) is 3467
+PASS foo(r) is 113
+PASS foo(s) is 182
+PASS foo(o) is 11
+PASS foo(p) is 10
+PASS foo(q) is 3467
+PASS foo(r) is 113
+PASS foo(s) is 182
+PASS foo(o) is 11
+PASS foo(p) is 10
+PASS foo(q) is 3467
+PASS foo(r) is 113
+PASS foo(s) is 182
+PASS foo(o) is 11
+PASS foo(p) is 10
+PASS foo(q) is 3467
+PASS foo(r) is 113
+PASS foo(s) is 182
+PASS foo(o) is 11
+PASS foo(p) is 10
+PASS foo(q) is 3467
+PASS foo(r) is 113
+PASS foo(s) is 182
+PASS foo(o) is 11
+PASS foo(p) is 10
+PASS foo(q) is 3467
+PASS foo(r) is 113
+PASS foo(s) is 182
+PASS foo(o) is 11
+PASS foo(p) is 10
+PASS foo(q) is 3467
+PASS foo(r) is 113
+PASS foo(s) is 182
+PASS foo(o) is 11
+PASS foo(p) is 10
+PASS foo(q) is 3467
+PASS foo(r) is 113
+PASS foo(s) is 182
+PASS foo(o) is 11
+PASS foo(p) is 10
+PASS foo(q) is 3467
+PASS foo(r) is 113
+PASS foo(s) is 182
+PASS foo(o) is 11
+PASS foo(p) is 10
+PASS foo(q) is 3467
+PASS foo(r) is 113
+PASS foo(s) is 182
+PASS foo(o) is 11
+PASS foo(p) is 10
+PASS foo(q) is 3467
+PASS foo(r) is 113
+PASS foo(s) is 182
+PASS foo(o) is 11
+PASS foo(p) is 10
+PASS foo(q) is 3467
+PASS foo(r) is 113
+PASS foo(s) is 182
+PASS foo(o) is 11
+PASS foo(p) is 10
+PASS foo(q) is 3467
+PASS foo(r) is 113
+PASS foo(s) is 182
+PASS foo(o) is 11
+PASS foo(p) is 10
+PASS foo(q) is 3467
+PASS foo(r) is 113
+PASS foo(s) is 182
+PASS foo(o) is 11
+PASS foo(p) is 10
+PASS foo(q) is 3467
+PASS foo(r) is 113
+PASS foo(s) is 182
+PASS foo(o) is 11
+PASS foo(p) is 10
+PASS foo(q) is 3467
+PASS foo(r) is 113
+PASS foo(s) is 182
+PASS foo(o) is 11
+PASS foo(p) is 10
+PASS foo(q) is 3467
+PASS foo(r) is 113
+PASS foo(s) is 182
+PASS foo(o) is 11
+PASS foo(p) is 10
+PASS foo(q) is 3467
+PASS foo(r) is 113
+PASS foo(s) is 182
+PASS foo(o) is 11
+PASS foo(p) is 10
+PASS foo(q) is 3467
+PASS foo(r) is 113
+PASS foo(s) is 182
+PASS foo(o) is 11
+PASS foo(p) is 10
+PASS foo(q) is 3467
+PASS foo(r) is 113
+PASS foo(s) is 182
+PASS foo(o) is 11
+PASS foo(p) is 10
+PASS foo(q) is 3467
+PASS foo(r) is 113
+PASS foo(s) is 182
+PASS foo(o) is 11
+PASS foo(p) is 10
+PASS foo(q) is 3467
+PASS foo(r) is 113
+PASS foo(s) is 182
+PASS foo(o) is 11
+PASS foo(p) is 10
+PASS foo(q) is 3467
+PASS foo(r) is 113
+PASS foo(s) is 182
+PASS foo(o) is 11
+PASS foo(p) is 10
+PASS foo(q) is 3467
+PASS foo(r) is 113
+PASS foo(s) is 182
+PASS foo(o) is 11
+PASS foo(p) is 10
+PASS foo(q) is 3467
+PASS foo(r) is 113
+PASS foo(s) is 182
+PASS foo(o) is 11
+PASS foo(p) is 10
+PASS foo(q) is 3467
+PASS foo(r) is 113
+PASS foo(s) is 182
+PASS foo(o) is 11
+PASS foo(p) is 10
+PASS foo(q) is 3467
+PASS foo(r) is 113
+PASS foo(s) is 182
+PASS foo(o) is 11
+PASS foo(p) is 10
+PASS foo(q) is 3467
+PASS foo(r) is 113
+PASS foo(s) is 182
+PASS foo(o) is 11
+PASS foo(p) is 10
+PASS foo(q) is 3467
+PASS foo(r) is 113
+PASS foo(s) is 182
+PASS foo(o) is 11
+PASS foo(p) is 10
+PASS foo(q) is 3467
+PASS foo(r) is 113
+PASS foo(s) is 182
+PASS foo(o) is 11
+PASS foo(p) is 10
+PASS foo(q) is 3467
+PASS foo(r) is 113
+PASS foo(s) is 182
+PASS foo(o) is 11
+PASS foo(p) is 10
+PASS foo(q) is 3467
+PASS foo(r) is 113
+PASS foo(s) is 182
+PASS foo(o) is 11
+PASS foo(p) is 10
+PASS foo(q) is 3467
+PASS foo(r) is 113
+PASS foo(s) is 182
+PASS foo(o) is 11
+PASS foo(p) is 10
+PASS foo(q) is 3467
+PASS foo(r) is 113
+PASS foo(s) is 182
+PASS foo(o) is 11
+PASS foo(p) is 10
+PASS foo(q) is 3467
+PASS foo(r) is 113
+PASS foo(s) is 182
+PASS foo(o) is 11
+PASS foo(p) is 10
+PASS foo(q) is 3467
+PASS foo(r) is 113
+PASS foo(s) is 182
+PASS foo(o) is 11
+PASS foo(p) is 10
+PASS foo(q) is 3467
+PASS foo(r) is 113
+PASS foo(s) is 182
+PASS foo(o) is 11
+PASS foo(p) is 10
+PASS foo(q) is 3467
+PASS foo(r) is 113
+PASS foo(s) is 182
+PASS foo(o) is 11
+PASS foo(p) is 10
+PASS foo(q) is 3467
+PASS foo(r) is 113
+PASS foo(s) is 182
+PASS foo(o) is 11
+PASS foo(p) is 10
+PASS foo(q) is 3467
+PASS foo(r) is 113
+PASS foo(s) is 182
+PASS foo(o) is 11
+PASS foo(p) is 10
+PASS foo(q) is 3467
+PASS foo(r) is 113
+PASS foo(s) is 182
+PASS foo(o) is 11
+PASS foo(p) is 10
+PASS foo(q) is 3467
+PASS foo(r) is 113
+PASS foo(s) is 182
+PASS foo(o) is 11
+PASS foo(p) is 10
+PASS foo(q) is 3467
+PASS foo(r) is 113
+PASS foo(s) is 182
+PASS foo(o) is 11
+PASS foo(p) is 10
+PASS foo(q) is 3467
+PASS foo(r) is 113
+PASS foo(s) is 182
+PASS foo(o) is 11
+PASS foo(p) is 10
+PASS foo(q) is 3467
+PASS foo(r) is 113
+PASS foo(s) is 182
+PASS foo(o) is 11
+PASS foo(p) is 10
+PASS foo(q) is 3467
+PASS foo(r) is 113
+PASS foo(s) is 182
+PASS foo(o) is 11
+PASS foo(p) is 10
+PASS foo(q) is 3467
+PASS foo(r) is 113
+PASS foo(s) is 182
+PASS foo(o) is 11
+PASS foo(p) is 10
+PASS foo(q) is 3467
+PASS foo(r) is 113
+PASS foo(s) is 182
+PASS foo(o) is 11
+PASS foo(p) is 10
+PASS foo(q) is 3467
+PASS foo(r) is 113
+PASS foo(s) is 182
+PASS foo(o) is 11
+PASS foo(p) is 10
+PASS foo(q) is 3467
+PASS foo(r) is 113
+PASS foo(s) is 182
+PASS foo(o) is 11
+PASS foo(p) is 10
+PASS foo(q) is 3467
+PASS foo(r) is 113
+PASS foo(s) is 182
+PASS foo(o) is 11
+PASS foo(p) is 10
+PASS foo(q) is 3467
+PASS foo(r) is 113
+PASS foo(s) is 182
+PASS foo(o) is 11
+PASS foo(p) is 10
+PASS foo(q) is 3467
+PASS foo(r) is 113
+PASS foo(s) is 182
+PASS foo(o) is 11
+PASS foo(p) is 10
+PASS foo(q) is 3467
+PASS foo(r) is 113
+PASS foo(s) is 182
+PASS foo(o) is 11
+PASS foo(p) is 10
+PASS foo(q) is 3467
+PASS foo(r) is 113
+PASS foo(s) is 182
+PASS foo(o) is 11
+PASS foo(p) is 10
+PASS foo(q) is 3467
+PASS foo(r) is 113
+PASS foo(s) is 182
+PASS foo(o) is 11
+PASS foo(p) is 10
+PASS foo(q) is 3467
+PASS foo(r) is 113
+PASS foo(s) is 182
+PASS foo(o) is 11
+PASS foo(p) is 10
+PASS foo(q) is 3467
+PASS foo(r) is 113
+PASS foo(s) is 182
+PASS foo(o) is 11
+PASS foo(p) is 10
+PASS foo(q) is 3467
+PASS foo(r) is 113
+PASS foo(s) is 182
+PASS foo(o) is 11
+PASS foo(p) is 10
+PASS foo(q) is 3467
+PASS foo(r) is 113
+PASS foo(s) is 182
+PASS foo(o) is 11
+PASS foo(p) is 10
+PASS foo(q) is 3467
+PASS foo(r) is 113
+PASS foo(s) is 182
+PASS foo(o) is 11
+PASS foo(p) is 10
+PASS foo(q) is 3467
+PASS foo(r) is 113
+PASS foo(s) is 182
+PASS foo(o) is 11
+PASS foo(p) is 10
+PASS foo(q) is 3467
+PASS foo(r) is 113
+PASS foo(s) is 182
+PASS foo(o) is 11
+PASS foo(p) is 10
+PASS foo(q) is 3467
+PASS foo(r) is 113
+PASS foo(s) is 182
+PASS foo(o) is 11
+PASS foo(p) is 10
+PASS foo(q) is 3467
+PASS foo(r) is 113
+PASS foo(s) is 182
+PASS foo(o) is 11
+PASS foo(p) is 10
+PASS foo(q) is 3467
+PASS foo(r) is 113
+PASS foo(s) is 182
+PASS foo(o) is 11
+PASS foo(p) is 10
+PASS foo(q) is 3467
+PASS foo(r) is 113
+PASS foo(s) is 182
+PASS foo(o) is 11
+PASS foo(p) is 10
+PASS foo(q) is 3467
+PASS foo(r) is 113
+PASS foo(s) is 182
+PASS successfullyParsed is true
+
+TEST COMPLETE
+

Added: trunk/LayoutTests/fast/js/get-by-pname-non-final-object-expected.txt (0 => 122047)


--- trunk/LayoutTests/fast/js/get-by-pname-non-final-object-expected.txt	                        (rev 0)
+++ trunk/LayoutTests/fast/js/get-by-pname-non-final-object-expected.txt	2012-07-07 00:43:21 UTC (rev 122047)
@@ -0,0 +1,509 @@
+This tests that op_get_by_pname is compiled correctly for non-final objects.
+
+On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
+
+
+PASS foo(o) is 11
+PASS foo(p) is 10
+PASS foo(q) is 3467
+PASS foo(r) is 113
+PASS foo(s) is 182
+PASS foo(o) is 11
+PASS foo(p) is 10
+PASS foo(q) is 3467
+PASS foo(r) is 113
+PASS foo(s) is 182
+PASS foo(o) is 11
+PASS foo(p) is 10
+PASS foo(q) is 3467
+PASS foo(r) is 113
+PASS foo(s) is 182
+PASS foo(o) is 11
+PASS foo(p) is 10
+PASS foo(q) is 3467
+PASS foo(r) is 113
+PASS foo(s) is 182
+PASS foo(o) is 11
+PASS foo(p) is 10
+PASS foo(q) is 3467
+PASS foo(r) is 113
+PASS foo(s) is 182
+PASS foo(o) is 11
+PASS foo(p) is 10
+PASS foo(q) is 3467
+PASS foo(r) is 113
+PASS foo(s) is 182
+PASS foo(o) is 11
+PASS foo(p) is 10
+PASS foo(q) is 3467
+PASS foo(r) is 113
+PASS foo(s) is 182
+PASS foo(o) is 11
+PASS foo(p) is 10
+PASS foo(q) is 3467
+PASS foo(r) is 113
+PASS foo(s) is 182
+PASS foo(o) is 11
+PASS foo(p) is 10
+PASS foo(q) is 3467
+PASS foo(r) is 113
+PASS foo(s) is 182
+PASS foo(o) is 11
+PASS foo(p) is 10
+PASS foo(q) is 3467
+PASS foo(r) is 113
+PASS foo(s) is 182
+PASS foo(o) is 11
+PASS foo(p) is 10
+PASS foo(q) is 3467
+PASS foo(r) is 113
+PASS foo(s) is 182
+PASS foo(o) is 11
+PASS foo(p) is 10
+PASS foo(q) is 3467
+PASS foo(r) is 113
+PASS foo(s) is 182
+PASS foo(o) is 11
+PASS foo(p) is 10
+PASS foo(q) is 3467
+PASS foo(r) is 113
+PASS foo(s) is 182
+PASS foo(o) is 11
+PASS foo(p) is 10
+PASS foo(q) is 3467
+PASS foo(r) is 113
+PASS foo(s) is 182
+PASS foo(o) is 11
+PASS foo(p) is 10
+PASS foo(q) is 3467
+PASS foo(r) is 113
+PASS foo(s) is 182
+PASS foo(o) is 11
+PASS foo(p) is 10
+PASS foo(q) is 3467
+PASS foo(r) is 113
+PASS foo(s) is 182
+PASS foo(o) is 11
+PASS foo(p) is 10
+PASS foo(q) is 3467
+PASS foo(r) is 113
+PASS foo(s) is 182
+PASS foo(o) is 11
+PASS foo(p) is 10
+PASS foo(q) is 3467
+PASS foo(r) is 113
+PASS foo(s) is 182
+PASS foo(o) is 11
+PASS foo(p) is 10
+PASS foo(q) is 3467
+PASS foo(r) is 113
+PASS foo(s) is 182
+PASS foo(o) is 11
+PASS foo(p) is 10
+PASS foo(q) is 3467
+PASS foo(r) is 113
+PASS foo(s) is 182
+PASS foo(o) is 11
+PASS foo(p) is 10
+PASS foo(q) is 3467
+PASS foo(r) is 113
+PASS foo(s) is 182
+PASS foo(o) is 11
+PASS foo(p) is 10
+PASS foo(q) is 3467
+PASS foo(r) is 113
+PASS foo(s) is 182
+PASS foo(o) is 11
+PASS foo(p) is 10
+PASS foo(q) is 3467
+PASS foo(r) is 113
+PASS foo(s) is 182
+PASS foo(o) is 11
+PASS foo(p) is 10
+PASS foo(q) is 3467
+PASS foo(r) is 113
+PASS foo(s) is 182
+PASS foo(o) is 11
+PASS foo(p) is 10
+PASS foo(q) is 3467
+PASS foo(r) is 113
+PASS foo(s) is 182
+PASS foo(o) is 11
+PASS foo(p) is 10
+PASS foo(q) is 3467
+PASS foo(r) is 113
+PASS foo(s) is 182
+PASS foo(o) is 11
+PASS foo(p) is 10
+PASS foo(q) is 3467
+PASS foo(r) is 113
+PASS foo(s) is 182
+PASS foo(o) is 11
+PASS foo(p) is 10
+PASS foo(q) is 3467
+PASS foo(r) is 113
+PASS foo(s) is 182
+PASS foo(o) is 11
+PASS foo(p) is 10
+PASS foo(q) is 3467
+PASS foo(r) is 113
+PASS foo(s) is 182
+PASS foo(o) is 11
+PASS foo(p) is 10
+PASS foo(q) is 3467
+PASS foo(r) is 113
+PASS foo(s) is 182
+PASS foo(o) is 11
+PASS foo(p) is 10
+PASS foo(q) is 3467
+PASS foo(r) is 113
+PASS foo(s) is 182
+PASS foo(o) is 11
+PASS foo(p) is 10
+PASS foo(q) is 3467
+PASS foo(r) is 113
+PASS foo(s) is 182
+PASS foo(o) is 11
+PASS foo(p) is 10
+PASS foo(q) is 3467
+PASS foo(r) is 113
+PASS foo(s) is 182
+PASS foo(o) is 11
+PASS foo(p) is 10
+PASS foo(q) is 3467
+PASS foo(r) is 113
+PASS foo(s) is 182
+PASS foo(o) is 11
+PASS foo(p) is 10
+PASS foo(q) is 3467
+PASS foo(r) is 113
+PASS foo(s) is 182
+PASS foo(o) is 11
+PASS foo(p) is 10
+PASS foo(q) is 3467
+PASS foo(r) is 113
+PASS foo(s) is 182
+PASS foo(o) is 11
+PASS foo(p) is 10
+PASS foo(q) is 3467
+PASS foo(r) is 113
+PASS foo(s) is 182
+PASS foo(o) is 11
+PASS foo(p) is 10
+PASS foo(q) is 3467
+PASS foo(r) is 113
+PASS foo(s) is 182
+PASS foo(o) is 11
+PASS foo(p) is 10
+PASS foo(q) is 3467
+PASS foo(r) is 113
+PASS foo(s) is 182
+PASS foo(o) is 11
+PASS foo(p) is 10
+PASS foo(q) is 3467
+PASS foo(r) is 113
+PASS foo(s) is 182
+PASS foo(o) is 11
+PASS foo(p) is 10
+PASS foo(q) is 3467
+PASS foo(r) is 113
+PASS foo(s) is 182
+PASS foo(o) is 11
+PASS foo(p) is 10
+PASS foo(q) is 3467
+PASS foo(r) is 113
+PASS foo(s) is 182
+PASS foo(o) is 11
+PASS foo(p) is 10
+PASS foo(q) is 3467
+PASS foo(r) is 113
+PASS foo(s) is 182
+PASS foo(o) is 11
+PASS foo(p) is 10
+PASS foo(q) is 3467
+PASS foo(r) is 113
+PASS foo(s) is 182
+PASS foo(o) is 11
+PASS foo(p) is 10
+PASS foo(q) is 3467
+PASS foo(r) is 113
+PASS foo(s) is 182
+PASS foo(o) is 11
+PASS foo(p) is 10
+PASS foo(q) is 3467
+PASS foo(r) is 113
+PASS foo(s) is 182
+PASS foo(o) is 11
+PASS foo(p) is 10
+PASS foo(q) is 3467
+PASS foo(r) is 113
+PASS foo(s) is 182
+PASS foo(o) is 11
+PASS foo(p) is 10
+PASS foo(q) is 3467
+PASS foo(r) is 113
+PASS foo(s) is 182
+PASS foo(o) is 11
+PASS foo(p) is 10
+PASS foo(q) is 3467
+PASS foo(r) is 113
+PASS foo(s) is 182
+PASS foo(o) is 11
+PASS foo(p) is 10
+PASS foo(q) is 3467
+PASS foo(r) is 113
+PASS foo(s) is 182
+PASS foo(o) is 11
+PASS foo(p) is 10
+PASS foo(q) is 3467
+PASS foo(r) is 113
+PASS foo(s) is 182
+PASS foo(o) is 11
+PASS foo(p) is 10
+PASS foo(q) is 3467
+PASS foo(r) is 113
+PASS foo(s) is 182
+PASS foo(o) is 11
+PASS foo(p) is 10
+PASS foo(q) is 3467
+PASS foo(r) is 113
+PASS foo(s) is 182
+PASS foo(o) is 11
+PASS foo(p) is 10
+PASS foo(q) is 3467
+PASS foo(r) is 113
+PASS foo(s) is 182
+PASS foo(o) is 11
+PASS foo(p) is 10
+PASS foo(q) is 3467
+PASS foo(r) is 113
+PASS foo(s) is 182
+PASS foo(o) is 11
+PASS foo(p) is 10
+PASS foo(q) is 3467
+PASS foo(r) is 113
+PASS foo(s) is 182
+PASS foo(o) is 11
+PASS foo(p) is 10
+PASS foo(q) is 3467
+PASS foo(r) is 113
+PASS foo(s) is 182
+PASS foo(o) is 11
+PASS foo(p) is 10
+PASS foo(q) is 3467
+PASS foo(r) is 113
+PASS foo(s) is 182
+PASS foo(o) is 11
+PASS foo(p) is 10
+PASS foo(q) is 3467
+PASS foo(r) is 113
+PASS foo(s) is 182
+PASS foo(o) is 11
+PASS foo(p) is 10
+PASS foo(q) is 3467
+PASS foo(r) is 113
+PASS foo(s) is 182
+PASS foo(o) is 11
+PASS foo(p) is 10
+PASS foo(q) is 3467
+PASS foo(r) is 113
+PASS foo(s) is 182
+PASS foo(o) is 11
+PASS foo(p) is 10
+PASS foo(q) is 3467
+PASS foo(r) is 113
+PASS foo(s) is 182
+PASS foo(o) is 11
+PASS foo(p) is 10
+PASS foo(q) is 3467
+PASS foo(r) is 113
+PASS foo(s) is 182
+PASS foo(o) is 11
+PASS foo(p) is 10
+PASS foo(q) is 3467
+PASS foo(r) is 113
+PASS foo(s) is 182
+PASS foo(o) is 11
+PASS foo(p) is 10
+PASS foo(q) is 3467
+PASS foo(r) is 113
+PASS foo(s) is 182
+PASS foo(o) is 11
+PASS foo(p) is 10
+PASS foo(q) is 3467
+PASS foo(r) is 113
+PASS foo(s) is 182
+PASS foo(o) is 11
+PASS foo(p) is 10
+PASS foo(q) is 3467
+PASS foo(r) is 113
+PASS foo(s) is 182
+PASS foo(o) is 11
+PASS foo(p) is 10
+PASS foo(q) is 3467
+PASS foo(r) is 113
+PASS foo(s) is 182
+PASS foo(o) is 11
+PASS foo(p) is 10
+PASS foo(q) is 3467
+PASS foo(r) is 113
+PASS foo(s) is 182
+PASS foo(o) is 11
+PASS foo(p) is 10
+PASS foo(q) is 3467
+PASS foo(r) is 113
+PASS foo(s) is 182
+PASS foo(o) is 11
+PASS foo(p) is 10
+PASS foo(q) is 3467
+PASS foo(r) is 113
+PASS foo(s) is 182
+PASS foo(o) is 11
+PASS foo(p) is 10
+PASS foo(q) is 3467
+PASS foo(r) is 113
+PASS foo(s) is 182
+PASS foo(o) is 11
+PASS foo(p) is 10
+PASS foo(q) is 3467
+PASS foo(r) is 113
+PASS foo(s) is 182
+PASS foo(o) is 11
+PASS foo(p) is 10
+PASS foo(q) is 3467
+PASS foo(r) is 113
+PASS foo(s) is 182
+PASS foo(o) is 11
+PASS foo(p) is 10
+PASS foo(q) is 3467
+PASS foo(r) is 113
+PASS foo(s) is 182
+PASS foo(o) is 11
+PASS foo(p) is 10
+PASS foo(q) is 3467
+PASS foo(r) is 113
+PASS foo(s) is 182
+PASS foo(o) is 11
+PASS foo(p) is 10
+PASS foo(q) is 3467
+PASS foo(r) is 113
+PASS foo(s) is 182
+PASS foo(o) is 11
+PASS foo(p) is 10
+PASS foo(q) is 3467
+PASS foo(r) is 113
+PASS foo(s) is 182
+PASS foo(o) is 11
+PASS foo(p) is 10
+PASS foo(q) is 3467
+PASS foo(r) is 113
+PASS foo(s) is 182
+PASS foo(o) is 11
+PASS foo(p) is 10
+PASS foo(q) is 3467
+PASS foo(r) is 113
+PASS foo(s) is 182
+PASS foo(o) is 11
+PASS foo(p) is 10
+PASS foo(q) is 3467
+PASS foo(r) is 113
+PASS foo(s) is 182
+PASS foo(o) is 11
+PASS foo(p) is 10
+PASS foo(q) is 3467
+PASS foo(r) is 113
+PASS foo(s) is 182
+PASS foo(o) is 11
+PASS foo(p) is 10
+PASS foo(q) is 3467
+PASS foo(r) is 113
+PASS foo(s) is 182
+PASS foo(o) is 11
+PASS foo(p) is 10
+PASS foo(q) is 3467
+PASS foo(r) is 113
+PASS foo(s) is 182
+PASS foo(o) is 11
+PASS foo(p) is 10
+PASS foo(q) is 3467
+PASS foo(r) is 113
+PASS foo(s) is 182
+PASS foo(o) is 11
+PASS foo(p) is 10
+PASS foo(q) is 3467
+PASS foo(r) is 113
+PASS foo(s) is 182
+PASS foo(o) is 11
+PASS foo(p) is 10
+PASS foo(q) is 3467
+PASS foo(r) is 113
+PASS foo(s) is 182
+PASS foo(o) is 11
+PASS foo(p) is 10
+PASS foo(q) is 3467
+PASS foo(r) is 113
+PASS foo(s) is 182
+PASS foo(o) is 11
+PASS foo(p) is 10
+PASS foo(q) is 3467
+PASS foo(r) is 113
+PASS foo(s) is 182
+PASS foo(o) is 11
+PASS foo(p) is 10
+PASS foo(q) is 3467
+PASS foo(r) is 113
+PASS foo(s) is 182
+PASS foo(o) is 11
+PASS foo(p) is 10
+PASS foo(q) is 3467
+PASS foo(r) is 113
+PASS foo(s) is 182
+PASS foo(o) is 11
+PASS foo(p) is 10
+PASS foo(q) is 3467
+PASS foo(r) is 113
+PASS foo(s) is 182
+PASS foo(o) is 11
+PASS foo(p) is 10
+PASS foo(q) is 3467
+PASS foo(r) is 113
+PASS foo(s) is 182
+PASS foo(o) is 11
+PASS foo(p) is 10
+PASS foo(q) is 3467
+PASS foo(r) is 113
+PASS foo(s) is 182
+PASS foo(o) is 11
+PASS foo(p) is 10
+PASS foo(q) is 3467
+PASS foo(r) is 113
+PASS foo(s) is 182
+PASS foo(o) is 11
+PASS foo(p) is 10
+PASS foo(q) is 3467
+PASS foo(r) is 113
+PASS foo(s) is 182
+PASS foo(o) is 11
+PASS foo(p) is 10
+PASS foo(q) is 3467
+PASS foo(r) is 113
+PASS foo(s) is 182
+PASS foo(o) is 11
+PASS foo(p) is 10
+PASS foo(q) is 3467
+PASS foo(r) is 113
+PASS foo(s) is 182
+PASS foo(o) is 11
+PASS foo(p) is 10
+PASS foo(q) is 3467
+PASS foo(r) is 113
+PASS foo(s) is 182
+PASS foo(o) is 11
+PASS foo(p) is 10
+PASS foo(q) is 3467
+PASS foo(r) is 113
+PASS foo(s) is 182
+PASS successfullyParsed is true
+
+TEST COMPLETE
+

Added: trunk/LayoutTests/fast/js/get-by-pname-non-final-object.html (0 => 122047)


--- trunk/LayoutTests/fast/js/get-by-pname-non-final-object.html	                        (rev 0)
+++ trunk/LayoutTests/fast/js/get-by-pname-non-final-object.html	2012-07-07 00:43:21 UTC (rev 122047)
@@ -0,0 +1,10 @@
+<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
+<html>
+<head>
+<script src=""
+</head>
+<body>
+<script src=""
+<script src=""
+</body>
+</html>

Added: trunk/LayoutTests/fast/js/get-by-pname.html (0 => 122047)


--- trunk/LayoutTests/fast/js/get-by-pname.html	                        (rev 0)
+++ trunk/LayoutTests/fast/js/get-by-pname.html	2012-07-07 00:43:21 UTC (rev 122047)
@@ -0,0 +1,10 @@
+<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
+<html>
+<head>
+<script src=""
+</head>
+<body>
+<script src=""
+<script src=""
+</body>
+</html>

Modified: trunk/LayoutTests/fast/js/jsc-test-list (122046 => 122047)


--- trunk/LayoutTests/fast/js/jsc-test-list	2012-07-07 00:23:31 UTC (rev 122046)
+++ trunk/LayoutTests/fast/js/jsc-test-list	2012-07-07 00:43:21 UTC (rev 122047)
@@ -186,6 +186,8 @@
 fast/js/function-toString-parentheses
 fast/js/function-toString-semicolon-insertion
 fast/js/getter-setter-gc
+fast/js/get-by-pname
+fast/js/get-by-pname-non-final-object
 fast/js/global-resolve-through-eval
 fast/js/gmail-re-re
 fast/js/has-own-property

Added: trunk/LayoutTests/fast/js/script-tests/get-by-pname-non-final-object.js (0 => 122047)


--- trunk/LayoutTests/fast/js/script-tests/get-by-pname-non-final-object.js	                        (rev 0)
+++ trunk/LayoutTests/fast/js/script-tests/get-by-pname-non-final-object.js	2012-07-07 00:43:21 UTC (rev 122047)
@@ -0,0 +1,50 @@
+description(
+"This tests that op_get_by_pname is compiled correctly for non-final objects."
+);
+
+function foo(o) {
+    var result = 0;
+    for (var n in o)
+        result += o[n];
+    return result;
+}
+
+var o = new Date();
+var p = new Date();
+var q = new Date();
+var r = new Date();
+var s = new Date();
+o.a = 1;
+o.b = 3;
+o.c = 7;
+p.a = 1;
+p.b = 2;
+p.c = 3;
+p.d = 4;
+q.a = 1;
+q.b = 2;
+q.c = 3;
+q.d = 4;
+q.e = 3457;
+r.a = 1;
+r.b = 2;
+r.c = 3;
+r.d = 4;
+r.e = 91;
+r.f = 12;
+s.a = 1;
+s.b = 2;
+s.c = 3;
+s.d = 4;
+s.e = 91;
+s.f = 12;
+s.g = 69;
+
+for (var i = 0; i < 100; ++i) {
+    shouldBe("foo(o)", "11");
+    shouldBe("foo(p)", "10");
+    shouldBe("foo(q)", "3467");
+    shouldBe("foo(r)", "113");
+    shouldBe("foo(s)", "182");
+}
+

Added: trunk/LayoutTests/fast/js/script-tests/get-by-pname.js (0 => 122047)


--- trunk/LayoutTests/fast/js/script-tests/get-by-pname.js	                        (rev 0)
+++ trunk/LayoutTests/fast/js/script-tests/get-by-pname.js	2012-07-07 00:43:21 UTC (rev 122047)
@@ -0,0 +1,25 @@
+description(
+"This tests that op_get_by_pname is compiled correctly."
+);
+
+function foo(o) {
+    var result = 0;
+    for (var n in o)
+        result += o[n];
+    return result;
+}
+
+var o = {a:1, b:3, c:7};
+var p = {a:1, b:2, c:3, d:4};
+var q = {a:1, b:2, c:3, d:4, e:3457};
+var r = {a:1, b:2, c:3, d:4, e:91, f:12};
+var s = {a:1, b:2, c:3, d:4, e:91, f:12, g:69};
+
+for (var i = 0; i < 100; ++i) {
+    shouldBe("foo(o)", "11");
+    shouldBe("foo(p)", "10");
+    shouldBe("foo(q)", "3467");
+    shouldBe("foo(r)", "113");
+    shouldBe("foo(s)", "182");
+}
+

Modified: trunk/Source/_javascript_Core/ChangeLog (122046 => 122047)


--- trunk/Source/_javascript_Core/ChangeLog	2012-07-07 00:23:31 UTC (rev 122046)
+++ trunk/Source/_javascript_Core/ChangeLog	2012-07-07 00:43:21 UTC (rev 122047)
@@ -1,3 +1,16 @@
+2012-07-06  Filip Pizlo  <fpi...@apple.com>
+
+        WebKit Version 5.1.7 (6534.57.2, r121935): Double-click no longer works on OpenStreetMap
+        https://bugs.webkit.org/show_bug.cgi?id=90703
+
+        Reviewed by Michael Saboff.
+        
+        It turns out that in my object model refactoring, I managed to fix get_by_pname in all
+        execution engines except 64-bit baseline JIT.
+
+        * jit/JITPropertyAccess.cpp:
+        (JSC::JIT::emit_op_get_by_pname):
+
 2012-07-06  Pravin D  <pravind....@gmail.com>
 
         Build Error on Qt Linux build

Modified: trunk/Source/_javascript_Core/jit/JITPropertyAccess.cpp (122046 => 122047)


--- trunk/Source/_javascript_Core/jit/JITPropertyAccess.cpp	2012-07-07 00:23:31 UTC (rev 122046)
+++ trunk/Source/_javascript_Core/jit/JITPropertyAccess.cpp	2012-07-07 00:43:21 UTC (rev 122047)
@@ -193,6 +193,7 @@
     load32(addressFor(i), regT3);
     sub32(TrustedImm32(1), regT3);
     addSlowCase(branch32(AboveOrEqual, regT3, Address(regT1, OBJECT_OFFSETOF(JSPropertyNameIterator, m_numCacheableSlots))));
+    add32(Address(regT1, OBJECT_OFFSETOF(JSPropertyNameIterator, m_offsetBase)), regT3);
     compileGetDirectOffset(regT0, regT0, regT3, regT1);
 
     emitPutVirtualRegister(dst, regT0);
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes

Reply via email to