Initial revision
[cacao.git] / asmpart.h
1 /****************************** asmpart.h **************************************
2
3         Copyright (c) 1997 A. Krall, R. Grafl, M. Gschwind, M. Probst
4
5         See file COPYRIGHT for information on usage and disclaimer of warranties
6
7         Headerfile for asmpart.S. asmpart.S contains the machine dependent
8         Java - C interface functions.
9
10         Authors: Reinhard Grafl      EMAIL: cacao@complang.tuwien.ac.at
11                  Andreas  Krall      EMAIL: cacao@complang.tuwien.ac.at
12
13         Last Change: 1997/10/15
14
15 *******************************************************************************/
16
17 int has_no_x_instr_set();
18         /* determines if the byte support instruction set (21164a and higher)
19            is available. */
20
21 void synchronize_caches();
22
23
24 void asm_call_jit_compiler ();
25         /* invokes the compiler for untranslated JavaVM methods.
26            Register R0 contains a pointer to the method info structure
27            (prepared by createcompilerstub). */
28
29 java_objectheader *asm_calljavamethod (methodinfo *m, void *arg1, void*arg2,
30                                        void*arg3, void*arg4);
31         /* This function calls a Java-method (which possibly needs compilation)
32            with up to 4 parameters. This function calls a Java-method (which
33            possibly needs compilation) with up to 4 parameters. */
34
35
36 void asm_dumpregistersandcall ( functionptr f);
37         /* This funtion saves all callee saved registers and calls the function
38            which is passed as parameter.
39            This function is needed by the garbage collector, which needs to access
40            all registers which are stored on the stack. Unused registers are
41            cleared to avoid interferances with the GC. */