Index: src/builtins.h |
diff --git a/src/builtins.h b/src/builtins.h |
index ca70ae54037bd62929c1d411636907d33adda91d..a2f752e052fd881984e04b535cfb5a3077f57c3f 100644 |
--- a/src/builtins.h |
+++ b/src/builtins.h |
@@ -38,6 +38,25 @@ enum BuiltinExtraArguments { |
}; |
+#define CODE_AGE_LIST_WITH_ARG(V, A) \ |
+ V(Quadragenarian, A) \ |
+ V(Quinquagenarian, A) \ |
+ V(Sexagenarian, A) \ |
+ V(Septuagenarian, A) \ |
+ V(Octogenarian, A) |
+ |
+#define CODE_AGE_LIST_IGNORE_ARG(X, V) V(X) |
+ |
+#define CODE_AGE_LIST(V) \ |
+ CODE_AGE_LIST_WITH_ARG(CODE_AGE_LIST_IGNORE_ARG, V) |
+ |
+#define DECLARE_CODE_AGE_BUILTIN(C, V) \ |
+ V(Make##C##CodeYoungAgainOddMarking, BUILTIN, \ |
+ UNINITIALIZED, Code::kNoExtraICState) \ |
+ V(Make##C##CodeYoungAgainEvenMarking, BUILTIN, \ |
+ UNINITIALIZED, Code::kNoExtraICState) |
+ |
+ |
// Define list of builtins implemented in C++. |
#define BUILTIN_LIST_C(V) \ |
V(Illegal, NO_EXTRA_ARGUMENTS) \ |
@@ -195,8 +214,8 @@ enum BuiltinExtraArguments { |
Code::kNoExtraICState) \ |
\ |
V(OnStackReplacement, BUILTIN, UNINITIALIZED, \ |
- Code::kNoExtraICState) |
- |
+ Code::kNoExtraICState) \ |
+ CODE_AGE_LIST_WITH_ARG(DECLARE_CODE_AGE_BUILTIN, V) |
#ifdef ENABLE_DEBUGGER_SUPPORT |
// Define list of builtins used by the debugger implemented in assembly. |
@@ -379,6 +398,14 @@ class Builtins { |
static void Generate_StringConstructCode(MacroAssembler* masm); |
static void Generate_OnStackReplacement(MacroAssembler* masm); |
+#define DECLARE_CODE_AGE_BUILTIN_GENERATOR(C) \ |
+ static void Generate_Make##C##CodeYoungAgainEvenMarking( \ |
+ MacroAssembler* masm); \ |
+ static void Generate_Make##C##CodeYoungAgainOddMarking( \ |
+ MacroAssembler* masm); |
+ CODE_AGE_LIST(DECLARE_CODE_AGE_BUILTIN_GENERATOR) |
+#undef DECLARE_CODE_AGE_BUILTIN_GENERATOR |
+ |
static void InitBuiltinFunctionTable(); |
bool initialized_; |