* nregdescint, nregdescfloat: Added.
authortwisti <none@none>
Mon, 2 Jan 2006 14:24:50 +0000 (14:24 +0000)
committertwisti <none@none>
Mon, 2 Jan 2006 14:24:50 +0000 (14:24 +0000)
src/vm/jit/i386/md-abi.c

index 17747b9da670f8f5453ad45bec6e5d060e76b7c2..295b7416cbdb6471cd446708fa545ddbfd9057c9 100644 (file)
 
    Changes: Christian Thalinger
 
-   $Id: md-abi.c 3227 2005-09-19 14:03:36Z twisti $
+   $Id: md-abi.c 4064 2006-01-02 14:24:50Z twisti $
 
 */
 
 
+#include "config.h"
 #include "vm/types.h"
 
 #include "vm/jit/i386/md-abi.h"
 #include "vm/global.h"
 
 
-/* md_param_alloc **************************************************************
+/* register descripton - array ************************************************/
+
+s4 nregdescint[] = {
+    REG_RET, REG_RES, REG_RES, REG_TMP, REG_RES, REG_SAV, REG_SAV, REG_SAV,
+    REG_END
+};
+
+
+s4 nregdescfloat[] = {
+ /* rounding problems with callee saved registers */
+ /* REG_SAV, REG_SAV, REG_SAV, REG_SAV, REG_TMP, REG_TMP, REG_RES, REG_RES, */
+ /* REG_TMP, REG_TMP, REG_TMP, REG_TMP, REG_TMP, REG_TMP, REG_RES, REG_RES, */
+    REG_RES, REG_RES, REG_RES, REG_RES, REG_RES, REG_RES, REG_RES, REG_RES,
+    REG_END
+};
+
 
-Allocate Arguments to Stackslots according the Calling Conventions
+/* md_param_alloc **************************************************************
 
---- in
-md->paramcount:           Number of arguments for this method
-md->paramtypes[].type:    Argument types
+   Allocate Arguments to Stackslots according the Calling Conventions
 
---- out
-md->params[].inmemory:    Argument spilled on stack
-md->params[].regoff:      Stack offset or rd->arg[int|flt]regs index
-md->memuse:               Stackslots needed for argument spilling
-md->argintreguse:         max number of integer arguments used
-md->argfltreguse:         max number of float arguments used
+   --- in
+   md->paramcount:           Number of arguments for this method
+   md->paramtypes[].type:    Argument types
+   
+   --- out
+   md->params[].inmemory:    Argument spilled on stack
+   md->params[].regoff:      Stack offset or rd->arg[int|flt]regs index
+   md->memuse:               Stackslots needed for argument spilling
+   md->argintreguse:         max number of integer arguments used
+   md->argfltreguse:         max number of float arguments used
 
 *******************************************************************************/
 
@@ -78,16 +96,22 @@ void md_param_alloc(methoddesc *md)
        md->argfltreguse = 0;
 }
 
+
 /* md_return_alloc *************************************************************
 
- No straight forward precoloring of the Java Stackelement containing the return
- value possible for i386, since it uses "reserved" registers for return values
+   No straight forward precoloring of the Java Stackelement containing
+   the return value possible for i386, since it uses "reserved"
+   registers for return values
 
 *******************************************************************************/
+
 void md_return_alloc(methodinfo *m, registerdata *rd, s4 return_type,
-                                        stackptr stackslot) {
+                                        stackptr stackslot)
+{
+       /* nothing */
 }
 
+
 /*
  * These are local overrides for various environment variables in Emacs.
  * Please do not remove this and leave it at the end of the file, where