From 41386e9cb918eed93b3f13648cbef387e371e451 Mon Sep 17 00:00:00 2001 From: Lorry Tar Creator Date: Wed, 20 May 2015 09:56:07 +0000 Subject: webkitgtk-2.4.9 --- ...ToFTLForOSREntryDeferredCompilationCallback.cpp | 29 +++++++--------------- 1 file changed, 9 insertions(+), 20 deletions(-) (limited to 'Source/JavaScriptCore/dfg/DFGToFTLForOSREntryDeferredCompilationCallback.cpp') diff --git a/Source/JavaScriptCore/dfg/DFGToFTLForOSREntryDeferredCompilationCallback.cpp b/Source/JavaScriptCore/dfg/DFGToFTLForOSREntryDeferredCompilationCallback.cpp index 70cc82502..17b45a328 100644 --- a/Source/JavaScriptCore/dfg/DFGToFTLForOSREntryDeferredCompilationCallback.cpp +++ b/Source/JavaScriptCore/dfg/DFGToFTLForOSREntryDeferredCompilationCallback.cpp @@ -31,7 +31,6 @@ #include "CodeBlock.h" #include "DFGJITCode.h" #include "Executable.h" -#include "JSCInlines.h" namespace JSC { namespace DFG { @@ -45,10 +44,11 @@ ToFTLForOSREntryDeferredCompilationCallback::~ToFTLForOSREntryDeferredCompilatio { } -RefToFTLForOSREntryDeferredCompilationCallback::create( +PassRefPtr +ToFTLForOSREntryDeferredCompilationCallback::create( PassRefPtr dfgCodeBlock) { - return adoptRef(*new ToFTLForOSREntryDeferredCompilationCallback(dfgCodeBlock)); + return adoptRef(new ToFTLForOSREntryDeferredCompilationCallback(dfgCodeBlock)); } void ToFTLForOSREntryDeferredCompilationCallback::compilationDidBecomeReadyAsynchronously( @@ -73,24 +73,13 @@ void ToFTLForOSREntryDeferredCompilationCallback::compilationDidComplete( ") result: ", result, "\n"); } - JITCode* jitCode = m_dfgCodeBlock->jitCode()->dfg(); - - switch (result) { - case CompilationSuccessful: - jitCode->osrEntryBlock = codeBlock; - break; - case CompilationFailed: - jitCode->osrEntryRetry = 0; - jitCode->abandonOSREntry = true; - break; - case CompilationDeferred: - RELEASE_ASSERT_NOT_REACHED(); - case CompilationInvalidated: - jitCode->osrEntryRetry = 0; - break; - } + if (result == CompilationSuccessful) + m_dfgCodeBlock->jitCode()->dfg()->osrEntryBlock = codeBlock; - DeferredCompilationCallback::compilationDidComplete(codeBlock, result); + // FIXME: if we failed, we might want to just turn off OSR entry rather than + // totally turning off tier-up. + m_dfgCodeBlock->jitCode()->dfg()->setOptimizationThresholdBasedOnCompilationResult( + m_dfgCodeBlock.get(), result); } } } // JSC::DFG -- cgit v1.2.1