summaryrefslogtreecommitdiff
path: root/Source/JavaScriptCore/bytecode/HandlerInfo.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/bytecode/HandlerInfo.h
parenta4e969f4965059196ca948db781e52f7cfebf19e (diff)
downloadWebKitGtk-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.h60
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
};