diff options
author | Lorry Tar Creator <lorry-tar-importer@lorry> | 2016-04-10 09:28:39 +0000 |
---|---|---|
committer | Lorry Tar Creator <lorry-tar-importer@lorry> | 2016-04-10 09:28:39 +0000 |
commit | 32761a6cee1d0dee366b885b7b9c777e67885688 (patch) | |
tree | d6bec92bebfb216f4126356e55518842c2f476a1 /Source/JavaScriptCore/ftl/FTLJITFinalizer.h | |
parent | a4e969f4965059196ca948db781e52f7cfebf19e (diff) | |
download | WebKitGtk-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.h | 35 |
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; }; |