diff options
author | Lorry Tar Creator <lorry-tar-importer@lorry> | 2017-06-27 06:07:23 +0000 |
---|---|---|
committer | Lorry Tar Creator <lorry-tar-importer@lorry> | 2017-06-27 06:07:23 +0000 |
commit | 1bf1084f2b10c3b47fd1a588d85d21ed0eb41d0c (patch) | |
tree | 46dcd36c86e7fbc6e5df36deb463b33e9967a6f7 /Source/JavaScriptCore/dfg/DFGToFTLDeferredCompilationCallback.cpp | |
parent | 32761a6cee1d0dee366b885b7b9c777e67885688 (diff) | |
download | WebKitGtk-tarball-master.tar.gz |
webkitgtk-2.16.5HEADwebkitgtk-2.16.5master
Diffstat (limited to 'Source/JavaScriptCore/dfg/DFGToFTLDeferredCompilationCallback.cpp')
-rw-r--r-- | Source/JavaScriptCore/dfg/DFGToFTLDeferredCompilationCallback.cpp | 35 |
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 |