Revision: 10873
Author:   [email protected]
Date:     Wed Feb 29 07:08:02 2012
Log:      Profiler experiments: prevent self-optimization for V8 Extensions

Review URL: https://chromiumcodereview.appspot.com/9535006
http://code.google.com/p/v8/source/detail?r=10873

Modified:
 /branches/bleeding_edge/src/compiler.cc
 /branches/bleeding_edge/src/scopes.h

=======================================
--- /branches/bleeding_edge/src/compiler.cc     Mon Feb 27 00:11:04 2012
+++ /branches/bleeding_edge/src/compiler.cc     Wed Feb 29 07:08:02 2012
@@ -119,6 +119,7 @@
       !Serializer::enabled() &&
       !function()->flags()->Contains(kDontSelfOptimize) &&
       !function()->flags()->Contains(kDontOptimize) &&
+      function()->scope()->allows_lazy_recompilation() &&
       (shared_info().is_null() || !shared_info()->optimization_disabled());
 }

=======================================
--- /branches/bleeding_edge/src/scopes.h        Thu Feb 23 01:12:57 2012
+++ /branches/bleeding_edge/src/scopes.h        Wed Feb 29 07:08:02 2012
@@ -371,6 +371,11 @@

   // Determine if we can use lazy compilation for this scope.
   bool AllowsLazyCompilation() const;
+
+  // True if we can lazily recompile functions with this scope.
+  bool allows_lazy_recompilation() const {
+    return !force_eager_compilation_;
+  }

   // True if the outer context of this scope is always the global context.
   bool HasTrivialOuterContext() const;

--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev

Reply via email to