+ enum JITType { None, HostCallThunk, InterpreterThunk, BaselineJIT, DFGJIT };
+
+ static JITType bottomTierJIT()
+ {
+ return BaselineJIT;
+ }
+
+ static JITType topTierJIT()
+ {
+ return DFGJIT;
+ }
+
+ static JITType nextTierJIT(JITType jitType)
+ {
+ ASSERT_UNUSED(jitType, jitType == BaselineJIT || jitType == DFGJIT);
+ return DFGJIT;
+ }
+
+ static bool isOptimizingJIT(JITType jitType)
+ {
+ return jitType == DFGJIT;
+ }
+
+ static bool isBaselineCode(JITType jitType)
+ {
+ return jitType == InterpreterThunk || jitType == BaselineJIT;
+ }
+
+#if ENABLE(JIT)