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/bytecode/HandlerInfo.h | |
parent | a4e969f4965059196ca948db781e52f7cfebf19e (diff) | |
download | WebKitGtk-tarball-32761a6cee1d0dee366b885b7b9c777e67885688.tar.gz |
webkitgtk-2.4.11webkitgtk-2.4.11
Diffstat (limited to 'Source/JavaScriptCore/bytecode/HandlerInfo.h')
-rw-r--r-- | Source/JavaScriptCore/bytecode/HandlerInfo.h | 60 |
1 files changed, 3 insertions, 57 deletions
diff --git a/Source/JavaScriptCore/bytecode/HandlerInfo.h b/Source/JavaScriptCore/bytecode/HandlerInfo.h index acdda08ed..8396c9607 100644 --- a/Source/JavaScriptCore/bytecode/HandlerInfo.h +++ b/Source/JavaScriptCore/bytecode/HandlerInfo.h @@ -27,70 +27,16 @@ #define HandlerInfo_h #include "CodeLocation.h" +#include <wtf/Platform.h> namespace JSC { -enum class HandlerType { - Illegal = 0, - Catch = 1, - Finally = 2, - SynthesizedFinally = 3 -}; - -struct HandlerInfoBase { - HandlerType type() const { return static_cast<HandlerType>(typeBits); } - void setType(HandlerType type) { typeBits = static_cast<uint32_t>(type); } - - const char* typeName() - { - switch (type()) { - case HandlerType::Catch: - return "catch"; - case HandlerType::Finally: - return "finally"; - case HandlerType::SynthesizedFinally: - return "synthesized finally"; - default: - ASSERT_NOT_REACHED(); - } - return nullptr; - } - - bool isCatchHandler() const { return type() == HandlerType::Catch; } - +struct HandlerInfo { uint32_t start; uint32_t end; uint32_t target; - uint32_t typeBits : 2; // HandlerType -}; - -struct UnlinkedHandlerInfo : public HandlerInfoBase { - UnlinkedHandlerInfo(uint32_t start, uint32_t end, uint32_t target, HandlerType handlerType) - { - this->start = start; - this->end = end; - this->target = target; - setType(handlerType); - ASSERT(type() == handlerType); - } -}; - -struct HandlerInfo : public HandlerInfoBase { - void initialize(const UnlinkedHandlerInfo& unlinkedInfo) - { - start = unlinkedInfo.start; - end = unlinkedInfo.end; - target = unlinkedInfo.target; - typeBits = unlinkedInfo.typeBits; - } - + uint32_t scopeDepth; #if ENABLE(JIT) - void initialize(const UnlinkedHandlerInfo& unlinkedInfo, CodeLocationLabel label) - { - initialize(unlinkedInfo); - nativeCode = label; - } - CodeLocationLabel nativeCode; #endif }; |