Profiler experiments: prevent self-optimization for V8 Extensions

Review URL: https://chromiumcodereview.appspot.com/9535006

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10873 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
This commit is contained in:
jkummerow@chromium.org 2012-02-29 15:08:02 +00:00
parent 448d80db64
commit 773c306303
2 changed files with 6 additions and 0 deletions

View File

@ -119,6 +119,7 @@ bool CompilationInfo::ShouldSelfOptimize() {
!Serializer::enabled() &&
!function()->flags()->Contains(kDontSelfOptimize) &&
!function()->flags()->Contains(kDontOptimize) &&
function()->scope()->allows_lazy_recompilation() &&
(shared_info().is_null() || !shared_info()->optimization_disabled());
}

View File

@ -372,6 +372,11 @@ class Scope: public ZoneObject {
// 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;