summaryrefslogtreecommitdiff
path: root/Source/JavaScriptCore/dfg/DFGToFTLDeferredCompilationCallback.cpp
diff options
context:
space:
mode:
authorLorry Tar Creator <lorry-tar-importer@lorry>2017-06-27 06:07:23 +0000
committerLorry Tar Creator <lorry-tar-importer@lorry>2017-06-27 06:07:23 +0000
commit1bf1084f2b10c3b47fd1a588d85d21ed0eb41d0c (patch)
tree46dcd36c86e7fbc6e5df36deb463b33e9967a6f7 /Source/JavaScriptCore/dfg/DFGToFTLDeferredCompilationCallback.cpp
parent32761a6cee1d0dee366b885b7b9c777e67885688 (diff)
downloadWebKitGtk-tarball-master.tar.gz
Diffstat (limited to 'Source/JavaScriptCore/dfg/DFGToFTLDeferredCompilationCallback.cpp')
-rw-r--r--Source/JavaScriptCore/dfg/DFGToFTLDeferredCompilationCallback.cpp35
1 files changed, 17 insertions, 18 deletions
diff --git a/Source/JavaScriptCore/dfg/DFGToFTLDeferredCompilationCallback.cpp b/Source/JavaScriptCore/dfg/DFGToFTLDeferredCompilationCallback.cpp
index 7770fd627..10815fe12 100644
--- a/Source/JavaScriptCore/dfg/DFGToFTLDeferredCompilationCallback.cpp
+++ b/Source/JavaScriptCore/dfg/DFGToFTLDeferredCompilationCallback.cpp
@@ -30,60 +30,59 @@
#include "CodeBlock.h"
#include "DFGJITCode.h"
-#include "Executable.h"
+#include "JSCInlines.h"
namespace JSC { namespace DFG {
-ToFTLDeferredCompilationCallback::ToFTLDeferredCompilationCallback(
- PassRefPtr<CodeBlock> dfgCodeBlock)
- : m_dfgCodeBlock(dfgCodeBlock)
+ToFTLDeferredCompilationCallback::ToFTLDeferredCompilationCallback()
{
}
ToFTLDeferredCompilationCallback::~ToFTLDeferredCompilationCallback() { }
-PassRefPtr<ToFTLDeferredCompilationCallback> ToFTLDeferredCompilationCallback::create(
- PassRefPtr<CodeBlock> dfgCodeBlock)
+Ref<ToFTLDeferredCompilationCallback> ToFTLDeferredCompilationCallback::create()
{
- return adoptRef(new ToFTLDeferredCompilationCallback(dfgCodeBlock));
+ return adoptRef(*new ToFTLDeferredCompilationCallback());
}
void ToFTLDeferredCompilationCallback::compilationDidBecomeReadyAsynchronously(
- CodeBlock* codeBlock)
+ CodeBlock* codeBlock, CodeBlock* profiledDFGCodeBlock)
{
if (Options::verboseOSR()) {
dataLog(
- "Optimizing compilation of ", *codeBlock, " (for ", *m_dfgCodeBlock,
+ "Optimizing compilation of ", *codeBlock, " (for ", *profiledDFGCodeBlock,
") did become ready.\n");
}
- m_dfgCodeBlock->jitCode()->dfg()->forceOptimizationSlowPathConcurrently(
- m_dfgCodeBlock.get());
+ profiledDFGCodeBlock->jitCode()->dfg()->forceOptimizationSlowPathConcurrently(
+ profiledDFGCodeBlock);
}
void ToFTLDeferredCompilationCallback::compilationDidComplete(
- CodeBlock* codeBlock, CompilationResult result)
+ CodeBlock* codeBlock, CodeBlock* profiledDFGCodeBlock, CompilationResult result)
{
if (Options::verboseOSR()) {
dataLog(
- "Optimizing compilation of ", *codeBlock, " (for ", *m_dfgCodeBlock,
+ "Optimizing compilation of ", *codeBlock, " (for ", *profiledDFGCodeBlock,
") result: ", result, "\n");
}
- if (m_dfgCodeBlock->replacement() != m_dfgCodeBlock) {
+ if (profiledDFGCodeBlock->replacement() != profiledDFGCodeBlock) {
if (Options::verboseOSR()) {
dataLog(
"Dropping FTL code block ", *codeBlock, " on the floor because the "
- "DFG code block ", *m_dfgCodeBlock, " was jettisoned.\n");
+ "DFG code block ", *profiledDFGCodeBlock, " was jettisoned.\n");
}
return;
}
if (result == CompilationSuccessful)
- codeBlock->install();
+ codeBlock->ownerScriptExecutable()->installCode(codeBlock);
- m_dfgCodeBlock->jitCode()->dfg()->setOptimizationThresholdBasedOnCompilationResult(
- m_dfgCodeBlock.get(), result);
+ profiledDFGCodeBlock->jitCode()->dfg()->setOptimizationThresholdBasedOnCompilationResult(
+ profiledDFGCodeBlock, result);
+
+ DeferredCompilationCallback::compilationDidComplete(codeBlock, profiledDFGCodeBlock, result);
}
} } // JSC::DFG