summaryrefslogtreecommitdiff
path: root/Source/JavaScriptCore/dfg/DFGToFTLForOSREntryDeferredCompilationCallback.cpp
diff options
context:
space:
mode:
authorLorry Tar Creator <lorry-tar-importer@lorry>2015-05-20 09:56:07 +0000
committerLorry Tar Creator <lorry-tar-importer@lorry>2015-05-20 09:56:07 +0000
commit41386e9cb918eed93b3f13648cbef387e371e451 (patch)
treea97f9d7bd1d9d091833286085f72da9d83fd0606 /Source/JavaScriptCore/dfg/DFGToFTLForOSREntryDeferredCompilationCallback.cpp
parente15dd966d523731101f70ccf768bba12435a0208 (diff)
downloadWebKitGtk-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.cpp29
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