* Removed all Id tags.
[cacao.git] / src / vm / jit / powerpc / darwin / md-asm.h
index 1f4165a8b670ae557fe1b50ab663df38f6e99c1a..04947e59e3067c854d1351ce012d97a496413cc6 100644 (file)
@@ -1,9 +1,9 @@
 /* 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 2539 2005-05-31 15:55:54Z twisti $
-
 */
 
 
 #ifndef _MD_ASM_H
 #define _MD_ASM_H
 
-#include <mach/ppc/asm.h>
-
-
 /* define register names compatible with Linux names **************************/
 
 #define fr0     f0
 
 /* register defines ***********************************************************/
 
+#define zero  r0
 #define sp    r1
 
+#define t0    r2
+
 #define a0    r3
 #define a1    r4
 #define a2    r5
 #define a6    r9
 #define a7    r10
 
+#define itmp1 r11
+#define itmp2 r12
 #define pv    r13
 
 #define s0    r14
 #define s1    r15
 
-#define t0    r16
+#define itmp3 r16
 #define t1    r17
 #define t2    r18
 #define t3    r19
 #define v0    a0
 #define v1    a1
 
-#define itmp1 r11
-#define itmp2 r12
-#define itmp3 r0
-
 #define xptr  itmp1
 #define xpc   itmp2
 
 #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_calljavafunction2                 _asm_calljavafunction2
-#define asm_calljavafunction2int              _asm_calljavafunction2int
-#define asm_calljavafunction2long             _asm_calljavafunction2long
-#define asm_calljavafunction2float            _asm_calljavafunction2float
-#define asm_calljavafunction2double           _asm_calljavafunction2double
+#define asm_vm_call_method_exception_handler  _asm_vm_call_method_exception_handler
+
+#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_builtin_arraycheckcast            _asm_builtin_arraycheckcast
-#define asm_builtin_aastore                   _asm_builtin_aastore
+#define asm_patcher_wrapper                   _asm_patcher_wrapper
 
-#define asm_builtin_idiv                      _asm_builtin_idiv
-#define asm_builtin_irem                      _asm_builtin_irem
-#define asm_builtin_ldiv                      _asm_builtin_ldiv
-#define asm_builtin_lrem                      _asm_builtin_lrem
+#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 builtin_canstore                      _builtin_canstore
-#define builtin_arraycheckcast                _builtin_arraycheckcast
-#define builtin_ldiv                          _builtin_ldiv
-#define builtin_lrem                          _builtin_lrem
-
-#if defined(USE_THREADS)
-#define builtin_monitorexit                   _builtin_monitorexit
-#endif
-
-#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 new_arithmeticexception               _new_arithmeticexception
-#define new_arrayindexoutofboundsexception    _new_arrayindexoutofboundsexception
-#define new_arraystoreexception               _new_arraystoreexception
-#define new_classcastexception                _new_classcastexception
-#define new_nullpointerexception              _new_nullpointerexception
-
-#if !defined(USE_THREADS) || !defined(NATIVE_THREADS)
-#if 0
-#define _exceptionptr                         __exceptionptr
-#endif
-
-_exceptionptr:
-       .globl          __exceptionptr
-#endif
+#define exceptions_get_and_clear_exception \
+    L_exceptions_get_and_clear_exception$stub
+
+#define builtin_throw_exception               L_builtin_throw_exception$stub
+
+#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 jit_asm_compile                       L_jit_asm_compile$stub
+
+#define exceptions_asm_new_abstractmethoderror \
+    L_exceptions_asm_new_abstractmethoderror$stub
+
+#define patcher_wrapper                       L_patcher_wrapper$stub
+
+#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 */