diff options
author | Lorry Tar Creator <lorry-tar-importer@lorry> | 2015-05-20 09:56:07 +0000 |
---|---|---|
committer | Lorry Tar Creator <lorry-tar-importer@lorry> | 2015-05-20 09:56:07 +0000 |
commit | 41386e9cb918eed93b3f13648cbef387e371e451 (patch) | |
tree | a97f9d7bd1d9d091833286085f72da9d83fd0606 /Source/JavaScriptCore/dfg/DFGToFTLForOSREntryDeferredCompilationCallback.cpp | |
parent | e15dd966d523731101f70ccf768bba12435a0208 (diff) | |
download | WebKitGtk-tarball-41386e9cb918eed93b3f13648cbef387e371e451.tar.gz |
webkitgtk-2.4.9webkitgtk-2.4.9
Diffstat (limited to 'Source/JavaScriptCore/dfg/DFGToFTLForOSREntryDeferredCompilationCallback.cpp')
-rw-r--r-- | Source/JavaScriptCore/dfg/DFGToFTLForOSREntryDeferredCompilationCallback.cpp | 29 |
1 files changed, 9 insertions, 20 deletions
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 { } -Ref<ToFTLForOSREntryDeferredCompilationCallback>ToFTLForOSREntryDeferredCompilationCallback::create( +PassRefPtr<ToFTLForOSREntryDeferredCompilationCallback> +ToFTLForOSREntryDeferredCompilationCallback::create( PassRefPtr<CodeBlock> 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 |