Index: src/objects.h |
diff --git a/src/objects.h b/src/objects.h |
index 417411d15524222bfb59708acd5b9a6f8589e24d..7ca51759f4141fb0ddd8d59b527f1632cf48a5ec 100644 |
--- a/src/objects.h |
+++ b/src/objects.h |
@@ -4439,34 +4439,40 @@ class Code: public HeapObject { |
// cache state, and arguments count. |
typedef uint32_t Flags; |
-#define CODE_KIND_LIST(V) \ |
- V(FUNCTION) \ |
- V(OPTIMIZED_FUNCTION) \ |
- V(STUB) \ |
- V(BUILTIN) \ |
- V(LOAD_IC) \ |
- V(KEYED_LOAD_IC) \ |
- V(CALL_IC) \ |
- V(KEYED_CALL_IC) \ |
- V(STORE_IC) \ |
- V(KEYED_STORE_IC) \ |
- V(UNARY_OP_IC) \ |
- V(BINARY_OP_IC) \ |
- V(COMPARE_IC) \ |
- V(COMPARE_NIL_IC) \ |
- V(TO_BOOLEAN_IC) \ |
+#define NON_IC_KIND_LIST(V) \ |
+ V(FUNCTION) \ |
+ V(OPTIMIZED_FUNCTION) \ |
+ V(STUB) \ |
+ V(BUILTIN) \ |
V(REGEXP) |
+#define IC_KIND_LIST(V) \ |
+ V(LOAD_IC) \ |
+ V(KEYED_LOAD_IC) \ |
+ V(CALL_IC) \ |
+ V(KEYED_CALL_IC) \ |
+ V(STORE_IC) \ |
+ V(KEYED_STORE_IC) \ |
+ V(UNARY_OP_IC) \ |
+ V(BINARY_OP_IC) \ |
+ V(COMPARE_IC) \ |
+ V(COMPARE_NIL_IC) \ |
+ V(TO_BOOLEAN_IC) |
+ |
+#define CODE_KIND_LIST(V) \ |
+ NON_IC_KIND_LIST(V) \ |
+ IC_KIND_LIST(V) |
enum Kind { |
#define DEFINE_CODE_KIND_ENUM(name) name, |
- CODE_KIND_LIST(DEFINE_CODE_KIND_ENUM) |
+ NON_IC_KIND_LIST(DEFINE_CODE_KIND_ENUM) |
+ IC_KIND_LIST(DEFINE_CODE_KIND_ENUM) |
#undef DEFINE_CODE_KIND_ENUM |
// Pseudo-kinds. |
- LAST_CODE_KIND = TO_BOOLEAN_IC, |
- FIRST_IC_KIND = LOAD_IC, |
- LAST_IC_KIND = TO_BOOLEAN_IC |
+#define COUNT_FLAG(name) + 1 |
+ LAST_CODE_KIND = -1 CODE_KIND_LIST(COUNT_FLAG) |
Sven Panne
2013/06/25 08:08:10
I don't think we need both LAST_CODE_KIND and NUMB
Benedikt Meurer
2013/06/25 08:48:09
Done.
|
+#undef COUNT_FLAG |
}; |
// No more than 16 kinds. The value is currently encoded in four bits in |
@@ -4492,7 +4498,7 @@ class Code: public HeapObject { |
}; |
enum { |
- NUMBER_OF_KINDS = LAST_IC_KIND + 1 |
+ NUMBER_OF_KINDS = LAST_CODE_KIND + 1 |
}; |
typedef int ExtraICState; |