* src/vm/jit/x86_64/linux/md-os.c (md_signal_handler_sigsegv): Removed
[cacao.git] / src / vm / jit / x86_64 / md-abi.h
index 6f81b7504ac3b37f76c79a40b9460ee65deba7c0..a4b76425ea371483e87ca630eab6f005b2c0629b 100644 (file)
@@ -1,6 +1,6 @@
 /* src/vm/jit/x86_64/md-abi.h - defines for x86_64 Linux ABI
 
-   Copyright (C) 1996-2005, 2006 R. Grafl, A. Krall, C. Kruegel,
+   Copyright (C) 1996-2005, 2006, 2007 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
    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
    02110-1301, USA.
 
-   Contact: cacao@cacaojvm.org
-
-   Authors: Christian Thalinger
-
-   Changes:
-
-   $Id: md-abi.h 4788 2006-04-18 20:20:13Z twisti $
-
 */
 
 
   
 #define REG_RESULT      RAX      /* to deliver method results                 */
 
+#define REG_A0          RDI      /* define some argument registers            */
+#define REG_A1          RSI
+#define REG_A2          RDX
+#define REG_A3          RCX
+
 #define REG_ITMP1       RAX      /* temporary register                        */
 #define REG_ITMP2       R10      /* temporary register and method pointer     */
 #define REG_ITMP3       R11      /* temporary register                        */
 
+#define REG_METHODPTR   REG_ITMP2/* pointer to the place from where the       */
+                                 /* procedure vector has been fetched         */
+
 #define REG_NULL        -1       /* used for reg_of_var where d is not needed */
 
-#define REG_ITMP1_XPTR  RAX      /* exception pointer = temporary register 1  */
-#define REG_ITMP2_XPC   R10      /* exception pc = temporary register 2       */
+#define REG_ITMP1_XPTR  REG_ITMP1/* exception pointer = temporary register 1  */
+#define REG_ITMP2_XPC   REG_ITMP2/* exception pc = temporary register 2       */
 
 #define REG_SP          RSP      /* stack pointer                             */
 
+
 /* floating point registers */
 
 #define REG_FRESULT     XMM0     /* to deliver floating point method results  */
 
+#define REG_FA0         XMM0     /* define some argument registers            */
+#define REG_FA1         XMM1
+
 #define REG_FTMP1       XMM8     /* temporary floating point register         */
 #define REG_FTMP2       XMM9     /* temporary floating point register         */
 #define REG_FTMP3       XMM10    /* temporary floating point register         */