Create the runtime support table from the function list.
Change-Id: I04fb12c51e7820e3fe169bc0865778350071cd93
diff --git a/src/compiler_llvm/runtime_support_llvm.cc b/src/compiler_llvm/runtime_support_llvm.cc
index 24a2d1f..5a4ebb9 100644
--- a/src/compiler_llvm/runtime_support_llvm.cc
+++ b/src/compiler_llvm/runtime_support_llvm.cc
@@ -343,28 +343,13 @@
};
static struct func_entry_t const tab[] = {
-#define DEF(NAME, ADDR) \
- { NAME, sizeof(NAME) - 1, (void *)(&(ADDR)) },
+#define DEFINE_ENTRY(ID, NAME) \
+ { #NAME, sizeof(#NAME) - 1, reinterpret_cast<void*>(NAME) },
- DEF("art_push_shadow_frame_from_code", art_push_shadow_frame_from_code)
- DEF("art_pop_shadow_frame_from_code", art_pop_shadow_frame_from_code)
- DEF("art_is_exception_pending_from_code", art_is_exception_pending_from_code)
- DEF("art_throw_div_zero_from_code", art_throw_div_zero_from_code)
- DEF("art_throw_array_bounds_from_code", art_throw_array_bounds_from_code)
- DEF("art_throw_no_such_method_from_code", art_throw_no_such_method_from_code)
- DEF("art_throw_null_pointer_exception_from_code", art_throw_null_pointer_exception_from_code)
- DEF("art_throw_stack_overflow_from_code", art_throw_stack_overflow_from_code)
- DEF("art_throw_exception_from_code", art_throw_exception_from_code)
- DEF("art_find_catch_block_from_code", art_find_catch_block_from_code)
- DEF("art_test_suspend_from_code", art_test_suspend_from_code)
- DEF("art_set_current_thread_from_code", art_set_current_thread_from_code)
- DEF("printf", printf)
- DEF("scanf", scanf)
- DEF("__isoc99_scanf", scanf)
- DEF("rand", rand)
- DEF("time", time)
- DEF("srand", srand)
-#undef DEF
+#include "runtime_support_func_list.h"
+ RUNTIME_SUPPORT_FUNC_LIST(DEFINE_ENTRY)
+#undef RUNTIME_SUPPORT_FUNC_LIST
+#undef DEFINE_ENTRY
};
static size_t const tab_size = sizeof(tab) / sizeof(struct func_entry_t);