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.

Reply via email to