summaryrefslogtreecommitdiff
path: root/Source/JavaScriptCore/bytecode/DeferredCompilationCallback.h
diff options
context:
space:
mode:
Diffstat (limited to 'Source/JavaScriptCore/bytecode/DeferredCompilationCallback.h')
-rw-r--r--Source/JavaScriptCore/bytecode/DeferredCompilationCallback.h19
1 files changed, 12 insertions, 7 deletions
diff --git a/Source/JavaScriptCore/bytecode/DeferredCompilationCallback.h b/Source/JavaScriptCore/bytecode/DeferredCompilationCallback.h
index 6421e3e25..925711047 100644
--- a/Source/JavaScriptCore/bytecode/DeferredCompilationCallback.h
+++ b/Source/JavaScriptCore/bytecode/DeferredCompilationCallback.h
@@ -23,11 +23,12 @@
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
-#ifndef DeferredCompilationCallback_h
-#define DeferredCompilationCallback_h
+#pragma once
#include "CompilationResult.h"
+#include "DeferredSourceDump.h"
#include <wtf/RefCounted.h>
+#include <wtf/Vector.h>
namespace JSC {
@@ -40,11 +41,15 @@ protected:
public:
virtual ~DeferredCompilationCallback();
- virtual void compilationDidBecomeReadyAsynchronously(CodeBlock*) = 0;
- virtual void compilationDidComplete(CodeBlock*, CompilationResult) = 0;
-};
+ virtual void compilationDidBecomeReadyAsynchronously(CodeBlock*, CodeBlock* profiledDFGCodeBlock) = 0;
+ virtual void compilationDidComplete(CodeBlock*, CodeBlock* profiledDFGCodeBlock, CompilationResult);
-} // namespace JSC
+ Vector<DeferredSourceDump>& ensureDeferredSourceDump();
-#endif // DeferredCompilationCallback_h
+private:
+ void dumpCompiledSourcesIfNeeded();
+ std::unique_ptr<Vector<DeferredSourceDump>> m_deferredSourceDump;
+};
+
+} // namespace JSC