X-Git-Url: http://wien.tomnetworks.com/gitweb/?a=blobdiff_plain;f=src%2Fvm%2Fjit%2Fx86_64%2Fmd-abi.h;h=a4b76425ea371483e87ca630eab6f005b2c0629b;hb=97183c85163cc1e2c0e5910a244527c25aece8a7;hp=6f81b7504ac3b37f76c79a40b9460ee65deba7c0;hpb=b8600eecffc169521e43f0725fe481143ceceb01;p=cacao.git diff --git a/src/vm/jit/x86_64/md-abi.h b/src/vm/jit/x86_64/md-abi.h index 6f81b7504..a4b76425e 100644 --- a/src/vm/jit/x86_64/md-abi.h +++ b/src/vm/jit/x86_64/md-abi.h @@ -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 @@ -22,14 +22,6 @@ 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 $ - */ @@ -81,21 +73,33 @@ #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 */