diff options
| author | Lorry Tar Creator <lorry-tar-importer@lorry> | 2015-05-20 09:56:07 +0000 |
|---|---|---|
| committer | Lorry Tar Creator <lorry-tar-importer@lorry> | 2015-05-20 09:56:07 +0000 |
| commit | 41386e9cb918eed93b3f13648cbef387e371e451 (patch) | |
| tree | a97f9d7bd1d9d091833286085f72da9d83fd0606 /Source/JavaScriptCore/bytecode/HandlerInfo.h | |
| parent | e15dd966d523731101f70ccf768bba12435a0208 (diff) | |
| download | WebKitGtk-tarball-41386e9cb918eed93b3f13648cbef387e371e451.tar.gz | |
webkitgtk-2.4.9webkitgtk-2.4.9
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 }; |
