- 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;
-