/* src/vm/jit/powerpc/darwin/md-asm.h - assembler defines for PowerPC Darwin ABI
- Copyright (C) 1996-2005 R. Grafl, A. Krall, C. Kruegel, C. Oates,
- R. Obermaisser, M. Platter, M. Probst, S. Ring, E. Steiner,
- C. Thalinger, D. Thuernbeck, P. Tomsich, C. Ullrich, J. Wenninger,
- Institut f. Computersprachen - TU Wien
+ Copyright (C) 1996-2005, 2006 R. Grafl, A. Krall, C. Kruegel,
+ C. Oates, R. Obermaisser, M. Platter, M. Probst, S. Ring,
+ E. Steiner, C. Thalinger, D. Thuernbeck, P. Tomsich, C. Ullrich,
+ J. Wenninger, Institut f. Computersprachen - TU Wien
This file is part of CACAO.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
- Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
- 02111-1307, USA.
+ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+ 02110-1301, USA.
- Contact: cacao@complang.tuwien.ac.at
+ Contact: cacao@cacaojvm.org
Authors: Christian Thalinger
Changes:
- $Id: md-asm.h 3233 2005-09-21 11:49:51Z twisti $
+ $Id: md-asm.h 8274 2007-08-08 15:58:17Z twisti $
*/
#ifndef _MD_ASM_H
#define _MD_ASM_H
-#include <mach/ppc/asm.h>
-
-
/* define register names compatible with Linux names **************************/
#define fr0 f0
#define mptrn 12
-#define ftmp3 fr0
-
-#define fa0 fr1
-#define fa1 fr2
-#define fa2 fr3
-#define fa3 fr4
-#define fa4 fr5
-#define fa5 fr6
-#define fa6 fr7
-
-#define fa7 fr8
-#define fa8 fr9
-#define fa9 fr10
-#define fa10 fr11
-#define fa11 fr12
-#define fa12 fr13
-
-#define fs0 fr14
-#define fs1 fr15
-
-#define ftmp1 fr16
-#define ftmp2 fr17
-
-#define ft0 fr18
-#define ft1 fr19
-#define ft2 fr20
-#define ft3 fr21
-#define ft4 fr22
-#define ft5 fr23
-
-#define fs2 fr24
-#define fs3 fr25
-#define fs4 fr26
-#define fs5 fr27
-#define fs6 fr28
-#define fs7 fr29
-#define fs8 fr30
-#define fs9 fr31
+#define ftmp3 f0
+
+#define fa0 f1
+#define fa1 f2
+#define fa2 f3
+#define fa3 f4
+#define fa4 f5
+#define fa5 f6
+#define fa6 f7
+
+#define fa7 f8
+#define fa8 f9
+#define fa9 f10
+#define fa10 f11
+#define fa11 f12
+#define fa12 f13
+
+#define fs0 f14
+#define fs1 f15
+
+#define ftmp1 f16
+#define ftmp2 f17
+
+#define ft0 f18
+#define ft1 f19
+#define ft2 f20
+#define ft3 f21
+#define ft4 f22
+#define ft5 f23
+
+#define fs2 f24
+#define fs3 f25
+#define fs4 f26
+#define fs5 f27
+#define fs6 f28
+#define fs7 f29
+#define fs8 f30
+#define fs9 f31
#define fv0 fa0
/* internal defines ***********************************************************/
-#define asm_calljavafunction _asm_calljavafunction
-#define asm_calljavafunction_int _asm_calljavafunction_int
+#define asm_vm_call_method _asm_vm_call_method
+#define asm_vm_call_method_int _asm_vm_call_method_int
+#define asm_vm_call_method_long _asm_vm_call_method_long
+#define asm_vm_call_method_float _asm_vm_call_method_float
+#define asm_vm_call_method_double _asm_vm_call_method_double
+#define asm_vm_call_method_end _asm_vm_call_method_end
+
+#define asm_vm_call_method_exception_handler _asm_vm_call_method_exception_handler
-#define asm_calljavafunction2 _asm_calljavafunction2
-#define asm_calljavafunction2int _asm_calljavafunction2int
-#define asm_calljavafunction2long _asm_calljavafunction2long
-#define asm_calljavafunction2float _asm_calljavafunction2float
-#define asm_calljavafunction2double _asm_calljavafunction2double
+#define jumptable_int _jumptable_int
+#define jumptable_long _jumptable_long
#define asm_call_jit_compiler _asm_call_jit_compiler
#define asm_handle_nat_exception _asm_handle_nat_exception
#define asm_handle_exception _asm_handle_exception
-#define asm_handle_nullptr_exception _asm_handle_nullptr_exception
-#define asm_wrapper_patcher _asm_wrapper_patcher
+
+#define asm_abstractmethoderror _asm_abstractmethoderror
+
+#define asm_patcher_wrapper _asm_patcher_wrapper
+
+#define asm_replacement_out _asm_replacement_out
+#define asm_replacement_in _asm_replacement_in
#define asm_cacheflush _asm_cacheflush
-#define asm_initialize_thread_stack _asm_initialize_thread_stack
-#define asm_perform_threadswitch _asm_perform_threadswitch
-#define asm_switchstackandcall _asm_switchstackandcall
-#define asm_criticalsections _asm_criticalsections
-#define asm_getclassvalues_atomic _asm_getclassvalues_atomic
/* external defines ***********************************************************/
-#define builtin_asm_get_exceptionptrptr _builtin_asm_get_exceptionptrptr
+#define exceptions_get_and_clear_exception \
+ L_exceptions_get_and_clear_exception$stub
-#if defined(USE_THREADS)
-#define builtin_monitorexit _builtin_monitorexit
-#endif
+#define builtin_throw_exception L_builtin_throw_exception$stub
-#define builtin_throw_exception _builtin_throw_exception
-#define builtin_trace_exception _builtin_trace_exception
-#define initialize_class _initialize_class
-#define link_class _link_class
-#define load_class_bootstrap _load_class_bootstrap
-#define jit_compile _jit_compile
+#define md_codegen_get_pv_from_pc L_md_codegen_get_pv_from_pc$stub
+#define exceptions_handle_exception L_exceptions_handle_exception$stub
-#define stacktrace_create_extern_stackframeinfo \
- _stacktrace_create_extern_stackframeinfo
+#define jit_asm_compile L_jit_asm_compile$stub
-#define stacktrace_remove_stackframeinfo _stacktrace_remove_stackframeinfo
-#define stacktrace_extern_fillInStackTrace \
- _stacktrace_extern_fillInStackTrace
+#define exceptions_asm_new_abstractmethoderror \
+ L_exceptions_asm_new_abstractmethoderror$stub
-#if !defined(USE_THREADS) || !defined(NATIVE_THREADS)
-#if 0
-#define _exceptionptr __exceptionptr
-#endif
+#define patcher_wrapper L_patcher_wrapper$stub
-_exceptionptr:
- .globl __exceptionptr
-#endif
+#define replace_me L_replace_me$stub
+#define replace_build_execution_state L_replace_build_execution_state$stub
+#define replace_free_safestack L_replace_free_safestack$stub
+
+#define stacktrace_create_extern_stackframeinfo \
+ L_stacktrace_create_extern_stackframeinfo$stub
+#define stacktrace_remove_stackframeinfo \
+ L_stacktrace_remove_stackframeinfo$stub
#endif /* _MD_ASM_H */