projects
/
cacao.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
70662a8
)
* md_param_alloc: simplified a bit
author
twisti
<none@none>
Thu, 30 Jun 2005 22:36:45 +0000
(22:36 +0000)
committer
twisti
<none@none>
Thu, 30 Jun 2005 22:36:45 +0000
(22:36 +0000)
src/vm/jit/powerpc/linux/md-abi.c
patch
|
blob
|
history
diff --git
a/src/vm/jit/powerpc/linux/md-abi.c
b/src/vm/jit/powerpc/linux/md-abi.c
index 3b0f2d8d89052518d2893a7198e1f05d3ecb61b1..2d6cc75f6da50c2c8712019869d71159b3b6be45 100644
(file)
--- a/
src/vm/jit/powerpc/linux/md-abi.c
+++ b/
src/vm/jit/powerpc/linux/md-abi.c
@@
-28,7
+28,7
@@
Changes: Christian Ullrich
Changes: Christian Ullrich
- $Id: md-abi.c 28
72 2005-06-29 12:42:19Z christian
$
+ $Id: md-abi.c 28
84 2005-06-30 22:36:45Z twisti
$
*/
*/
@@
-85,54
+85,50
@@
void md_param_alloc(methoddesc *md)
if (iarg < INT_ARG_CNT) {
pd->inmemory = false;
pd->regoff = iarg;
if (iarg < INT_ARG_CNT) {
pd->inmemory = false;
pd->regoff = iarg;
-
+ iarg++;
} else {
pd->inmemory = true;
pd->regoff = stacksize;
} else {
pd->inmemory = true;
pd->regoff = stacksize;
- }
- if (iarg < INT_ARG_CNT)
- iarg++;
- else
stacksize++;
stacksize++;
+ }
break;
case TYPE_LNG:
break;
case TYPE_LNG:
- if (iarg < INT_ARG_CNT - 1)
- _ALIGN(iarg);
- else
- _ALIGN(stacksize);
if (iarg < INT_ARG_CNT - 1) {
if (iarg < INT_ARG_CNT - 1) {
+ _ALIGN(iarg);
pd->inmemory = false;
/* rd->arg[int|flt]regs index !! */
pd->regoff = PACK_REGS(iarg + 1, iarg);
pd->inmemory = false;
/* rd->arg[int|flt]regs index !! */
pd->regoff = PACK_REGS(iarg + 1, iarg);
+ iarg += 2;
} else {
} else {
+ _ALIGN(stacksize);
pd->inmemory = true;
pd->regoff = stacksize;
pd->inmemory = true;
pd->regoff = stacksize;
- }
- if (iarg < INT_ARG_CNT - 1)
- iarg += 2;
- else {
iarg = INT_ARG_CNT;
stacksize += 2;
}
break;
case TYPE_FLT:
iarg = INT_ARG_CNT;
stacksize += 2;
}
break;
case TYPE_FLT:
- case TYPE_DBL:
- if ((farg >= FLT_ARG_CNT) && IS_2_WORD_TYPE(md->paramtypes[i].type))
- _ALIGN(stacksize);
if (farg < FLT_ARG_CNT) {
pd->inmemory = false;
pd->regoff = farg;
if (farg < FLT_ARG_CNT) {
pd->inmemory = false;
pd->regoff = farg;
+ farg++;
} else {
pd->inmemory = true;
pd->regoff = stacksize;
} else {
pd->inmemory = true;
pd->regoff = stacksize;
+ stacksize++;
}
}
- if (farg < FLT_ARG_CNT)
+ break;
+ case TYPE_DBL:
+ if (farg < FLT_ARG_CNT) {
+ pd->inmemory = false;
+ pd->regoff = farg;
farg++;
farg++;
- else
- if (IS_2_WORD_TYPE(md->paramtypes[i].type))
- stacksize += 2;
- else
- stacksize++;
+ } else {
+ _ALIGN(stacksize);
+ pd->inmemory = true;
+ pd->regoff = stacksize;
+ stacksize += 2;
+ }
break;
}
}
break;
}
}