summaryrefslogtreecommitdiff
path: root/Source/JavaScriptCore/bytecode/ExitKind.cpp
diff options
context:
space:
mode:
authorKonstantin Tokarev <annulen@yandex.ru>2016-08-25 19:20:41 +0300
committerKonstantin Tokarev <annulen@yandex.ru>2017-02-02 12:30:55 +0000
commit6882a04fb36642862b11efe514251d32070c3d65 (patch)
treeb7959826000b061fd5ccc7512035c7478742f7b0 /Source/JavaScriptCore/bytecode/ExitKind.cpp
parentab6df191029eeeb0b0f16f127d553265659f739e (diff)
downloadqtwebkit-6882a04fb36642862b11efe514251d32070c3d65.tar.gz
Imported QtWebKit TP3 (git b57bc6801f1876c3220d5a4bfea33d620d477443)
Change-Id: I3b1d8a2808782c9f34d50240000e20cb38d3680f Reviewed-by: Konstantin Tokarev <annulen@yandex.ru>
Diffstat (limited to 'Source/JavaScriptCore/bytecode/ExitKind.cpp')
-rw-r--r--Source/JavaScriptCore/bytecode/ExitKind.cpp57
1 files changed, 35 insertions, 22 deletions
diff --git a/Source/JavaScriptCore/bytecode/ExitKind.cpp b/Source/JavaScriptCore/bytecode/ExitKind.cpp
index a8d904585..84ff57b59 100644
--- a/Source/JavaScriptCore/bytecode/ExitKind.cpp
+++ b/Source/JavaScriptCore/bytecode/ExitKind.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012, 2013 Apple Inc. All rights reserved.
+ * Copyright (C) 2012-2015 Apple Inc. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
@@ -38,60 +38,73 @@ const char* exitKindToString(ExitKind kind)
return "Unset";
case BadType:
return "BadType";
- case BadFunction:
- return "BadFunction";
+ case BadCell:
+ return "BadCell";
+ case BadIdent:
+ return "BadIdent";
case BadExecutable:
return "BadExecutable";
case BadCache:
return "BadCache";
- case BadWeakConstantCache:
- return "BadWeakConstantCache";
+ case BadConstantCache:
+ return "BadConstantCache";
case BadIndexingType:
return "BadIndexingType";
+ case BadTypeInfoFlags:
+ return "BadTypeInfoFlags";
case Overflow:
return "Overflow";
case NegativeZero:
return "NegativeZero";
+ case Int52Overflow:
+ return "Int52Overflow";
case StoreToHole:
return "StoreToHole";
case LoadFromHole:
return "LoadFromHole";
case OutOfBounds:
return "OutOfBounds";
- case StoreToHoleOrOutOfBounds:
- return "StoreToHoleOrOutOfBounds";
case InadequateCoverage:
return "InadequateCoverage";
case ArgumentsEscaped:
return "ArgumentsEscaped";
+ case ExoticObjectMode:
+ return "ExoticObjectMode";
case NotStringObject:
return "NotStringObject";
+ case VarargsOverflow:
+ return "VarargsOverflow";
+ case TDZFailure:
+ return "TDZFailure";
case Uncountable:
return "Uncountable";
- case UncountableWatchpoint:
- return "UncountableWatchpoint";
- default:
- RELEASE_ASSERT_NOT_REACHED();
- return "Unknown";
+ case UncountableInvalidation:
+ return "UncountableInvalidation";
+ case WatchdogTimerFired:
+ return "WatchdogTimerFired";
+ case DebuggerEvent:
+ return "DebuggerEvent";
+ case ExceptionCheck:
+ return "ExceptionCheck";
+ case GenericUnwind:
+ return "GenericUnwind";
}
+ RELEASE_ASSERT_NOT_REACHED();
+ return "Unknown";
}
-bool exitKindIsCountable(ExitKind kind)
+bool exitKindMayJettison(ExitKind kind)
{
switch (kind) {
- case ExitKindUnset:
- RELEASE_ASSERT_NOT_REACHED();
- case BadType:
- case Uncountable:
- case UncountableWatchpoint:
- case LoadFromHole: // Already counted directly by the baseline JIT.
- case StoreToHole: // Already counted directly by the baseline JIT.
- case OutOfBounds: // Already counted directly by the baseline JIT.
- case StoreToHoleOrOutOfBounds: // Already counted directly by the baseline JIT.
+ case ExceptionCheck:
+ case GenericUnwind:
return false;
default:
return true;
}
+
+ RELEASE_ASSERT_NOT_REACHED();
+ return false;
}
} // namespace JSC