X-Git-Url: https://git.saurik.com/apple/javascriptcore.git/blobdiff_plain/81345200c95645a1b0d2635520f96ad55dfde63f..refs/heads/master:/bytecode/DeferredCompilationCallback.cpp diff --git a/bytecode/DeferredCompilationCallback.cpp b/bytecode/DeferredCompilationCallback.cpp index 9d5acb9..761e95b 100644 --- a/bytecode/DeferredCompilationCallback.cpp +++ b/bytecode/DeferredCompilationCallback.cpp @@ -35,6 +35,8 @@ DeferredCompilationCallback::~DeferredCompilationCallback() { } void DeferredCompilationCallback::compilationDidComplete(CodeBlock* codeBlock, CompilationResult result) { + dumpCompiledSourcesIfNeeded(); + switch (result) { case CompilationFailed: case CompilationInvalidated: @@ -47,5 +49,25 @@ void DeferredCompilationCallback::compilationDidComplete(CodeBlock* codeBlock, C } } +Vector& DeferredCompilationCallback::ensureDeferredSourceDump() +{ + if (!m_deferredSourceDump) + m_deferredSourceDump = std::make_unique>(); + return *m_deferredSourceDump; +} + +void DeferredCompilationCallback::dumpCompiledSourcesIfNeeded() +{ + if (!m_deferredSourceDump) + return; + + ASSERT(Options::dumpSourceAtDFGTime()); + unsigned index = 0; + for (auto& info : *m_deferredSourceDump) { + dataLog("[", ++index, "] "); + info.dump(); + } +} + } // JSC