-/* src/jit/x86_64/emitfuncs.h - emit function prototypes
+/* src/vm/jit/x86_64/emitfuncs.h - emit function prototypes
Copyright (C) 1996-2005 R. Grafl, A. Krall, C. Kruegel, C. Oates,
R. Obermaisser, M. Platter, M. Probst, S. Ring, E. Steiner,
Changes:
- $Id: emitfuncs.h 2265 2005-04-11 09:58:52Z twisti $
+ $Id: emitfuncs.h 3271 2005-09-21 21:12:59Z twisti $
*/
#ifndef _EMITFUNCS_H
#define _EMITFUNCS_H
-#include "vm/jit/x86_64/types.h"
+#include "vm/types.h"
/* code generation prototypes */
Changes:
- $Id: md-abi.c 2872 2005-06-29 12:42:19Z christian $
+ $Id: md-abi.c 3271 2005-09-21 21:12:59Z twisti $
*/
-#include "vm/jit/x86_64/types.h"
+#include "vm/types.h"
+
#include "vm/jit/x86_64/md-abi.h"
#include "vm/descriptor.h"
*******************************************************************************/
+
void md_return_alloc(methodinfo *m, registerdata *rd, s4 return_type,
- stackptr stackslot) {
+ stackptr stackslot)
+{
/* precoloring only straightforward possible with flt/dbl types */
+
if (IS_FLT_DBL_TYPE(return_type)) {
/* In Leafmethods Local Vars holding parameters are precolored to */
/* their argument register -> so leafmethods with paramcount > 0 could*/
/* already use a00! */
+
if (!m->isleafmethod || (m->paramcount == 0)) {
/* Only precolor the stackslot, if it is not a SAVEDVAR <-> has */
/* not to survive method invokations */
+
if (!(stackslot->flags & SAVEDVAR)) {
stackslot->varkind = ARGVAR;
stackslot->varnum = -1;
stackslot->flags = 0;
+
/* float/double */
- if (rd->argfltreguse < 1) rd->argfltreguse = 1;
+ if (rd->argfltreguse < 1)
+ rd->argfltreguse = 1;
+
stackslot->regoff = REG_FRESULT;
}
}
}
}
+
/*
* 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
Changes:
- $Id: patcher.c 3173 2005-09-12 08:09:53Z twisti $
+ $Id: patcher.c 3271 2005-09-21 21:12:59Z twisti $
*/
-#include "vm/jit/x86_64/types.h"
+#include "config.h"
+#include "vm/types.h"
#include "mm/memory.h"
#include "native/native.h"