Revision: 24435
Author: [email protected]
Date: Tue Oct 7 12:35:06 2014 UTC
Log: Add classes-related bailout reasons to DONT_TURBOFAN_NODE
[email protected]
Review URL: https://codereview.chromium.org/636883002
https://code.google.com/p/v8/source/detail?r=24435
Modified:
/branches/bleeding_edge/src/ast.cc
/branches/bleeding_edge/src/compiler/pipeline.cc
=======================================
--- /branches/bleeding_edge/src/ast.cc Mon Oct 6 12:56:11 2014 UTC
+++ /branches/bleeding_edge/src/ast.cc Tue Oct 7 12:35:06 2014 UTC
@@ -1090,16 +1090,17 @@
DONT_OPTIMIZE_NODE(ModuleStatement)
DONT_OPTIMIZE_NODE(WithStatement)
DONT_OPTIMIZE_NODE(DebuggerStatement)
-DONT_OPTIMIZE_NODE(ClassLiteral)
DONT_OPTIMIZE_NODE(NativeFunctionLiteral)
-DONT_OPTIMIZE_NODE(SuperReference)
DONT_OPTIMIZE_NODE_WITH_FEEDBACK_SLOTS(Yield)
// TODO(turbofan): Remove the dont_turbofan_reason once this list is empty.
+// This list must be kept in sync with Pipeline::GenerateCode.
DONT_TURBOFAN_NODE(ForOfStatement)
DONT_TURBOFAN_NODE(TryCatchStatement)
DONT_TURBOFAN_NODE(TryFinallyStatement)
+DONT_TURBOFAN_NODE(ClassLiteral)
+DONT_TURBOFAN_NODE(SuperReference)
DONT_SELFOPTIMIZE_NODE(DoWhileStatement)
DONT_SELFOPTIMIZE_NODE(WhileStatement)
=======================================
--- /branches/bleeding_edge/src/compiler/pipeline.cc Tue Sep 30 10:29:32
2014 UTC
+++ /branches/bleeding_edge/src/compiler/pipeline.cc Tue Oct 7 12:35:06
2014 UTC
@@ -166,12 +166,15 @@
Handle<Code> Pipeline::GenerateCode() {
+ // This list must be kept in sync with DONT_TURBOFAN_NODE in ast.cc.
if (info()->function()->dont_optimize_reason() == kTryCatchStatement ||
info()->function()->dont_optimize_reason() == kTryFinallyStatement ||
// TODO(turbofan): Make ES6 for-of work and remove this bailout.
info()->function()->dont_optimize_reason() == kForOfStatement ||
// TODO(turbofan): Make super work and remove this bailout.
info()->function()->dont_optimize_reason() == kSuperReference ||
+ // TODO(turbofan): Make classliterals work and remove this bailout.
+ info()->function()->dont_optimize_reason() == kClassLiteral ||
// TODO(turbofan): Make OSR work and remove this bailout.
info()->is_osr()) {
return Handle<Code>::null();
--
--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev
---
You received this message because you are subscribed to the Google Groups "v8-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/d/optout.