Keep runtime_support_x86.S working on the Mac.
(cherry picked from commit 14f98a1818354e1730e11083eb13dabf6b919ebe)
Change-Id: I97a3dc8f4c05e967f11fd8d199faefb8f59af28c
diff --git a/src/oat/runtime/x86/runtime_support_x86.S b/src/oat/runtime/x86/runtime_support_x86.S
index fd41376..1e4a45d 100644
--- a/src/oat/runtime/x86/runtime_support_x86.S
+++ b/src/oat/runtime/x86/runtime_support_x86.S
@@ -29,6 +29,7 @@
// mean that literals need to be represented with $$x in macros.
#define SYMBOL(name) _ ## name
#define VAR(name,index) SYMBOL($index)
+ #define CALL_MACRO(name,index) $index
#define LITERAL(value) $value
#define MACRO_LITERAL(value) $$value
#else
@@ -46,6 +47,7 @@
.altmacro
#define SYMBOL(name) name
#define VAR(name,index) name&
+ #define CALL_MACRO(name,index) name&
#define LITERAL(value) $value
#define MACRO_LITERAL(value) $value
#endif
@@ -283,7 +285,7 @@
call VAR(cxx_name, 1) // cxx_name(Thread*, SP)
addl MACRO_LITERAL(16), %esp // pop arguments
RESTORE_REF_ONLY_CALLEE_SAVE_FRAME // restore frame up to return address
- VAR(return_macro, 2) // return or deliver exception
+ CALL_MACRO(return_macro, 2) // return or deliver exception
END_MACRO
MACRO3(ONE_ARG_DOWNCALL, c_name, cxx_name, return_macro)
@@ -300,7 +302,7 @@
call VAR(cxx_name, 1) // cxx_name(arg1, Thread*, SP)
addl MACRO_LITERAL(16), %esp // pop arguments
RESTORE_REF_ONLY_CALLEE_SAVE_FRAME // restore frame up to return address
- VAR(return_macro, 2) // return or deliver exception
+ CALL_MACRO(return_macro, 2) // return or deliver exception
END_MACRO
MACRO3(TWO_ARG_DOWNCALL, c_name, cxx_name, return_macro)
@@ -317,7 +319,7 @@
call VAR(cxx_name, 1) // cxx_name(arg1, arg2, Thread*, SP)
addl MACRO_LITERAL(16), %esp // pop arguments
RESTORE_REF_ONLY_CALLEE_SAVE_FRAME // restore frame up to return address
- VAR(return_macro, 2) // return or deliver exception
+ CALL_MACRO(return_macro, 2) // return or deliver exception
END_MACRO
MACRO3(THREE_ARG_DOWNCALL, c_name, cxx_name, return_macro)
@@ -336,7 +338,7 @@
call VAR(cxx_name, 1) // cxx_name(arg1, arg2, arg3, Thread*, SP)
addl MACRO_LITERAL(32), %esp // pop arguments
RESTORE_REF_ONLY_CALLEE_SAVE_FRAME // restore frame up to return address
- VAR(return_macro, 2) // return or deliver exception
+ CALL_MACRO(return_macro, 2) // return or deliver exception
END_MACRO
MACRO0(RETURN_IF_EAX_NOT_ZERO)