summaryrefslogtreecommitdiff
path: root/Source/JavaScriptCore/ftl/FTLJITFinalizer.h
diff options
context:
space:
mode:
authorLorry Tar Creator <lorry-tar-importer@lorry>2016-04-10 09:28:39 +0000
committerLorry Tar Creator <lorry-tar-importer@lorry>2016-04-10 09:28:39 +0000
commit32761a6cee1d0dee366b885b7b9c777e67885688 (patch)
treed6bec92bebfb216f4126356e55518842c2f476a1 /Source/JavaScriptCore/ftl/FTLJITFinalizer.h
parenta4e969f4965059196ca948db781e52f7cfebf19e (diff)
downloadWebKitGtk-tarball-32761a6cee1d0dee366b885b7b9c777e67885688.tar.gz
webkitgtk-2.4.11webkitgtk-2.4.11
Diffstat (limited to 'Source/JavaScriptCore/ftl/FTLJITFinalizer.h')
-rw-r--r--Source/JavaScriptCore/ftl/FTLJITFinalizer.h35
1 files changed, 13 insertions, 22 deletions
diff --git a/Source/JavaScriptCore/ftl/FTLJITFinalizer.h b/Source/JavaScriptCore/ftl/FTLJITFinalizer.h
index 0574f5327..a7ecd9486 100644
--- a/Source/JavaScriptCore/ftl/FTLJITFinalizer.h
+++ b/Source/JavaScriptCore/ftl/FTLJITFinalizer.h
@@ -26,44 +26,35 @@
#ifndef FTLJITFinalizer_h
#define FTLJITFinalizer_h
+#include <wtf/Platform.h>
+
#if ENABLE(FTL_JIT)
#include "DFGFinalizer.h"
#include "FTLGeneratedFunction.h"
#include "FTLJITCode.h"
+#include "FTLOSRExitCompilationInfo.h"
#include "FTLSlowPathCall.h"
+#include "LLVMAPI.h"
#include "LinkBuffer.h"
#include "MacroAssembler.h"
namespace JSC { namespace FTL {
-class OutOfLineCodeInfo {
-public:
- OutOfLineCodeInfo(std::unique_ptr<LinkBuffer> linkBuffer, const char* codeDescription)
- : m_linkBuffer(WTFMove(linkBuffer))
- , m_codeDescription(codeDescription)
- {
- }
-
- std::unique_ptr<LinkBuffer> m_linkBuffer;
- const char* m_codeDescription;
-};
-
class JITFinalizer : public DFG::Finalizer {
public:
JITFinalizer(DFG::Plan&);
virtual ~JITFinalizer();
-
- size_t codeSize() override;
- bool finalize() override;
- bool finalizeFunction() override;
-
- std::unique_ptr<LinkBuffer> b3CodeLinkBuffer;
-
- // Eventually, we can get rid of this with B3.
- std::unique_ptr<LinkBuffer> entrypointLinkBuffer;
- Vector<CCallHelpers::Jump> lazySlowPathGeneratorJumps;
+ bool finalize();
+ bool finalizeFunction();
+
+ OwnPtr<LinkBuffer> exitThunksLinkBuffer;
+ OwnPtr<LinkBuffer> entrypointLinkBuffer;
+ OwnPtr<LinkBuffer> sideCodeLinkBuffer;
+ Vector<SlowPathCall> slowPathCalls; // Calls inside the side code.
+ Vector<OSRExitCompilationInfo> osrExit;
+ MacroAssembler::Label arityCheck;
GeneratedFunction function;
RefPtr<JITCode> jitCode;
};