Title: [164178] trunk/Source/_javascript_Core
Revision
164178
Author
[email protected]
Date
2014-02-15 11:45:54 -0800 (Sat, 15 Feb 2014)

Log Message

Unreviewed, roll out r164166.

This broke three unique tests:

** The following JSC stress test failures have been introduced:
    regress/script-tests/variadic-closure-call.js.default-ftl
    regress/script-tests/variadic-closure-call.js.ftl-no-cjit-validate
    regress/script-tests/variadic-closure-call.js.ftl-no-cjit-osr-validation
    regress/script-tests/variadic-closure-call.js.ftl-eager
    regress/script-tests/variadic-closure-call.js.ftl-eager-no-cjit
    regress/script-tests/variadic-closure-call.js.ftl-eager-no-cjit-osr-validation
    jsc-layout-tests.yaml/js/script-tests/unmatching-argument-count.js.layout-ftl-eager-no-cjit
    regress/script-tests/direct-arguments-getbyval.js.ftl-eager-no-cjit
    regress/script-tests/direct-arguments-getbyval.js.ftl-eager-no-cjit-osr-validation

* bytecode/PolymorphicAccessStructureList.h:
* ftl/FTLCapabilities.cpp:
(JSC::FTL::canCompile):
* ftl/FTLLowerDFGToLLVM.cpp:
(JSC::FTL::LowerDFGToLLVM::compileNode):
* tests/stress/ftl-getbyval-arguments.js:

Modified Paths

Removed Paths

Diff

Modified: trunk/Source/_javascript_Core/ChangeLog (164177 => 164178)


--- trunk/Source/_javascript_Core/ChangeLog	2014-02-15 19:25:49 UTC (rev 164177)
+++ trunk/Source/_javascript_Core/ChangeLog	2014-02-15 19:45:54 UTC (rev 164178)
@@ -1,3 +1,27 @@
+2014-02-15  Filip Pizlo  <[email protected]>
+
+        Unreviewed, roll out r164166.
+
+        This broke three unique tests:
+
+        ** The following JSC stress test failures have been introduced:
+            regress/script-tests/variadic-closure-call.js.default-ftl
+            regress/script-tests/variadic-closure-call.js.ftl-no-cjit-validate
+            regress/script-tests/variadic-closure-call.js.ftl-no-cjit-osr-validation
+            regress/script-tests/variadic-closure-call.js.ftl-eager
+            regress/script-tests/variadic-closure-call.js.ftl-eager-no-cjit
+            regress/script-tests/variadic-closure-call.js.ftl-eager-no-cjit-osr-validation
+            jsc-layout-tests.yaml/js/script-tests/unmatching-argument-count.js.layout-ftl-eager-no-cjit
+            regress/script-tests/direct-arguments-getbyval.js.ftl-eager-no-cjit
+            regress/script-tests/direct-arguments-getbyval.js.ftl-eager-no-cjit-osr-validation
+
+        * bytecode/PolymorphicAccessStructureList.h:
+        * ftl/FTLCapabilities.cpp:
+        (JSC::FTL::canCompile):
+        * ftl/FTLLowerDFGToLLVM.cpp:
+        (JSC::FTL::LowerDFGToLLVM::compileNode):
+        * tests/stress/ftl-getbyval-arguments.js:
+
 2014-02-15  Matthew Mirman  <[email protected]>
 
         Added GetMyArgumentByVal to FTL

Modified: trunk/Source/_javascript_Core/bytecode/PolymorphicAccessStructureList.h (164177 => 164178)


--- trunk/Source/_javascript_Core/bytecode/PolymorphicAccessStructureList.h	2014-02-15 19:25:49 UTC (rev 164177)
+++ trunk/Source/_javascript_Core/bytecode/PolymorphicAccessStructureList.h	2014-02-15 19:45:54 UTC (rev 164178)
@@ -63,7 +63,7 @@
             isDirect = _isDirect;
             count = 0;
         }
-            
+        
         void set(VM& vm, JSCell* owner, PassRefPtr<JITStubRoutine> _stubRoutine, Structure* _base, StructureChain* _chain, bool _isDirect, unsigned _count)
         {
             stubRoutine = _stubRoutine;
@@ -73,11 +73,11 @@
             count = _count;
         }
     } list[POLYMORPHIC_LIST_CACHE_SIZE];
-        
+    
     PolymorphicAccessStructureList()
     {
     }
-        
+    
     PolymorphicAccessStructureList(VM& vm, JSCell* owner, PassRefPtr<JITStubRoutine> stubRoutine, Structure* firstBase, bool isDirect)
     {
         list[0].set(vm, owner, stubRoutine, firstBase, isDirect);

Modified: trunk/Source/_javascript_Core/ftl/FTLCapabilities.cpp (164177 => 164178)


--- trunk/Source/_javascript_Core/ftl/FTLCapabilities.cpp	2014-02-15 19:25:49 UTC (rev 164177)
+++ trunk/Source/_javascript_Core/ftl/FTLCapabilities.cpp	2014-02-15 19:45:54 UTC (rev 164178)
@@ -46,7 +46,6 @@
     case JSConstant:
     case WeakJSConstant:
     case GetMyArgumentsLength:
-    case GetMyArgumentByVal:
     case GetLocal:
     case SetLocal:
     case MovHint:

Modified: trunk/Source/_javascript_Core/ftl/FTLLowerDFGToLLVM.cpp (164177 => 164178)


--- trunk/Source/_javascript_Core/ftl/FTLLowerDFGToLLVM.cpp	2014-02-15 19:25:49 UTC (rev 164177)
+++ trunk/Source/_javascript_Core/ftl/FTLLowerDFGToLLVM.cpp	2014-02-15 19:45:54 UTC (rev 164178)
@@ -299,9 +299,6 @@
         case GetMyArgumentsLength:
             compileGetMyArgumentsLength();
             break;
-        case GetMyArgumentByVal:
-            compileGetMyArgumentByVal();
-            break;
         case ZombieHint:
             compileZombieHint();
             break;
@@ -2033,28 +2030,7 @@
             return;
         } }
     }
-
-    void compileGetMyArgumentByVal()
-    {
-        LValue property = lowInt32(m_node->child1());
-        TypedPointer argsPtr = addressFor(m_node->origin.semantic.stackOffset());
-        LValue args = argsPtr.value();
-        LValue propPtr = m_out.signExt(property, m_out.intPtr);
-
-        speculate(Uncountable, noValue(), 0, 
-            m_out.aboveOrEqual(propPtr, 
-                addressFor(m_node->origin.semantic.stackOffset() + JSStack::ArgumentCount).value()));
-
-        speculate(Uncountable, noValue(), 0, 
-            m_out.notNull(
-                addressFor(m_node->origin.semantic.stackOffset()).value())); // Where is SlowArgumentData?
-
-        setJSValue(m_out.load64(m_out.baseIndex(
-            argsPtr.heap(),
-            args, propPtr, ScaleEight, 
-            JSStack::ThisArgument * sizeof(Register) + sizeof(Register))));
-    }
-
+    
     void compilePutByVal()
     {
         Edge child1 = m_graph.varArgChild(m_node, 0);

Deleted: trunk/Source/_javascript_Core/tests/stress/ftl-getbyval-arguments.js (164177 => 164178)


--- trunk/Source/_javascript_Core/tests/stress/ftl-getbyval-arguments.js	2014-02-15 19:25:49 UTC (rev 164177)
+++ trunk/Source/_javascript_Core/tests/stress/ftl-getbyval-arguments.js	2014-02-15 19:45:54 UTC (rev 164178)
@@ -1,12 +0,0 @@
-function foo(a){
-    return arguments[1];
-}
-noInline(foo);
-
-var r = 0;
-for (var i = 0; i < 100000; ++i) {
-    var r = foo(52, 42);
-}
-
-if (r != 42) throw "Error: "+r;
-
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to