From 8b3e12d5adcf4d2429310100c2add1a8b7ccf6f7 Mon Sep 17 00:00:00 2001 From: twisti Date: Wed, 21 Sep 2005 21:12:59 +0000 Subject: [PATCH] * Include fixes. --- src/vm/jit/x86_64/emitfuncs.h | 6 +++--- src/vm/jit/x86_64/md-abi.c | 18 ++++++++++++++---- src/vm/jit/x86_64/patcher.c | 5 +++-- 3 files changed, 20 insertions(+), 9 deletions(-) diff --git a/src/vm/jit/x86_64/emitfuncs.h b/src/vm/jit/x86_64/emitfuncs.h index 2489cbf02..abaa500fe 100644 --- a/src/vm/jit/x86_64/emitfuncs.h +++ b/src/vm/jit/x86_64/emitfuncs.h @@ -1,4 +1,4 @@ -/* 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, @@ -28,7 +28,7 @@ Changes: - $Id: emitfuncs.h 2265 2005-04-11 09:58:52Z twisti $ + $Id: emitfuncs.h 3271 2005-09-21 21:12:59Z twisti $ */ @@ -36,7 +36,7 @@ #ifndef _EMITFUNCS_H #define _EMITFUNCS_H -#include "vm/jit/x86_64/types.h" +#include "vm/types.h" /* code generation prototypes */ diff --git a/src/vm/jit/x86_64/md-abi.c b/src/vm/jit/x86_64/md-abi.c index 11a54cd9d..0112f11ae 100644 --- a/src/vm/jit/x86_64/md-abi.c +++ b/src/vm/jit/x86_64/md-abi.c @@ -28,12 +28,13 @@ 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" @@ -129,28 +130,37 @@ rd->arg[flt|int]reguse set to a value according the register usage *******************************************************************************/ + 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 diff --git a/src/vm/jit/x86_64/patcher.c b/src/vm/jit/x86_64/patcher.c index 6b8907f3f..ef19608c1 100644 --- a/src/vm/jit/x86_64/patcher.c +++ b/src/vm/jit/x86_64/patcher.c @@ -28,12 +28,13 @@ 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" -- 2.25.1