Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
02111-1307, USA.
- $Id: simplereg.c 7713 2007-04-15 21:49:48Z twisti $
+ $Id: simplereg.c 7743 2007-04-17 20:53:41Z edwin $
*/
registerdata *rd;
methoddesc *md;
- int p, s, t, tt, lm;
+ int p, s, t, tt, varindex;
int intalloc, fltalloc;
varinfo *v;
int intregsneeded = 0;
intalloc = -1; fltalloc = -1;
for (tt = 0; tt <= 4; tt++) {
t = typeloop[tt];
- lm = jd->local_map[s * 5 + t];
- if (lm == UNUSED)
+ varindex = jd->local_map[s * 5 + t];
+ if (varindex == UNUSED)
continue;
- v = VAR(lm);
+ v = VAR(varindex);
#if defined(SUPPORT_COMBINE_INTEGER_REGISTERS)
intregsneeded = (IS_2_WORD_TYPE(t)) ? 1 : 0;
codegendata *cd;
registerdata *rd;
- int s, t, tt, lm;
+ int s, t, tt, varindex;
int intalloc, fltalloc;
varinfo *v;
int memneeded = 0;
for (tt=0; tt<=4; tt++) {
t = typeloop[tt];
- lm = jd->local_map[s * 5 + t];
- if (lm == UNUSED)
+ varindex = jd->local_map[s * 5 + t];
+ if (varindex == UNUSED)
continue;
- v = VAR(lm);
+ v = VAR(varindex);
#ifdef SUPPORT_COMBINE_INTEGER_REGISTERS
intregsneeded = (IS_2_WORD_TYPE(t)) ? 1 : 0;
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
02110-1301, USA.
- $Id: inline.c 7742 2007-04-17 20:37:36Z edwin $
+ $Id: inline.c 7743 2007-04-17 20:53:41Z edwin $
*/
{
s4 *varmap;
s4 i, t;
- s4 idx;
- s4 n_idx;
+ s4 varindex;
+ s4 n_javaindex;
s4 avail;
varinfo *v;
for (i=0; i<callee->m->maxlocals; ++i) {
for (t=0; t<5; ++t) {
- idx = callee->jd->local_map[5*i + t];
- if (idx == UNUSED)
+ varindex = callee->jd->local_map[5*i + t];
+ if (varindex == UNUSED)
continue;
- v = &(callee->jd->var[idx]);
+ v = &(callee->jd->var[varindex]);
assert(v->type == t || v->type == TYPE_VOID); /* XXX stack leaves VOID */
v->type = t; /* XXX restore if it is TYPE_VOID */
avail = callee->ctx->resultjd->local_map[5*(callee->localsoffset + i) + t];
if (avail == UNUSED) {
- avail = inline_new_variable_clone(callee->ctx->resultjd, callee->jd, idx);
+ avail = inline_new_variable_clone(callee->ctx->resultjd, callee->jd, varindex);
callee->ctx->resultjd->local_map[5*(callee->localsoffset + i) + t] = avail;
}
- varmap[idx] = avail;
+ varmap[varindex] = avail;
}
}
/* for synchronized instance methods we need an extra local */
if (callee->synchronize && !(callee->m->flags & ACC_STATIC)) {
- n_idx = callee->localsoffset - 1;
- assert(n_idx >= 0);
+ n_javaindex = callee->localsoffset - 1;
+ assert(n_javaindex >= 0);
assert(callee->parent);
- assert(n_idx == callee->parent->localsoffset + callee->parent->m->maxlocals);
+ assert(n_javaindex == callee->parent->localsoffset + callee->parent->m->maxlocals);
- avail = callee->ctx->resultjd->local_map[5*n_idx + TYPE_ADR];
+ avail = callee->ctx->resultjd->local_map[5*n_javaindex + TYPE_ADR];
if (avail == UNUSED) {
avail = inline_new_variable(callee->ctx->resultjd, TYPE_ADR, 0);
- callee->ctx->resultjd->local_map[5*n_idx + TYPE_ADR] = avail;
+ callee->ctx->resultjd->local_map[5*n_javaindex + TYPE_ADR] = avail;
}
callee->synclocal = avail;
int type;
instruction *n_ins;
insinfo_inline *insinfo;
- s4 argvar;
+ s4 varindex;
assert(iln && callee && o_iptr);
/* translate the argument variable */
- argvar = varmap[o_iptr->sx.s23.s2.args[i]];
- assert(argvar != UNUSED);
+ varindex = varmap[o_iptr->sx.s23.s2.args[i]];
+ assert(varindex != UNUSED);
/* remove preallocation from the argument variable */
- iln->ctx->resultjd->var[argvar].flags &= ~(PREALLOC | INMEMORY);
+ iln->ctx->resultjd->var[varindex].flags &= ~(PREALLOC | INMEMORY);
/* check the instance slot against NULL */
/* we don't need that for <init> methods, as the verifier */
if (!callee->isstatic && i == 0 && calleem->name != utf_init) {
assert(type == TYPE_ADR);
n_ins = inline_instruction(iln, ICMD_CHECKNULL, o_iptr);
- n_ins->s1.varindex = argvar;
+ n_ins->s1.varindex = varindex;
n_ins->dst.varindex = n_ins->s1.varindex;
}
n_ins = inline_instruction(iln, ICMD_ISTORE + type, o_iptr);
n_ins->sx.s23.s3.javaindex = UNUSED;
}
- n_ins->s1.varindex = argvar;
+ n_ins->s1.varindex = varindex;
n_ins->dst.varindex = iln->ctx->resultjd->local_map[5*localindex + type];
assert(n_ins->dst.varindex != UNUSED);
}
/* this value is not used, pop it */
n_ins = inline_instruction(iln, ICMD_POP, o_iptr);
- n_ins->s1.varindex = argvar;
+ n_ins->s1.varindex = varindex;
}
DOLOG( printf("%sprolog: ", iln->indent);
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
02110-1301, USA.
- $Id: stack.c 7742 2007-04-17 20:37:36Z edwin $
+ $Id: stack.c 7743 2007-04-17 20:53:41Z edwin $
*/
void stack_javalocals_store(instruction *iptr, s4 *javalocals)
{
- s4 idx; /* index into the jd->var array */
- s4 j; /* java local index */
+ s4 varindex; /* index into the jd->var array */
+ s4 javaindex; /* java local index */
- idx = iptr->dst.varindex;
- j = iptr->sx.s23.s3.javaindex;
+ varindex = iptr->dst.varindex;
+ javaindex = iptr->sx.s23.s3.javaindex;
- if (j != UNUSED) {
- assert(j >= 0);
+ if (javaindex != UNUSED) {
+ assert(javaindex >= 0);
if (iptr->flags.bits & INS_FLAG_RETADDR)
- javalocals[j] = iptr->sx.s23.s2.retaddrnr;
+ javalocals[javaindex] = iptr->sx.s23.s2.retaddrnr;
else
- javalocals[j] = idx;
+ javalocals[javaindex] = varindex;
if (iptr->flags.bits & INS_FLAG_KILL_PREV)
- javalocals[j-1] = UNUSED;
+ javalocals[javaindex-1] = UNUSED;
if (iptr->flags.bits & INS_FLAG_KILL_NEXT)
- javalocals[j+1] = UNUSED;
+ javalocals[javaindex+1] = UNUSED;
}
}
bool typecheck_init_locals(verifier_state *state, bool newthis)
{
int i;
- int index;
+ int varindex;
varinfo *locals;
varinfo *v;
jitdata *jd = state->jd;
/* if this is an instance method initialize the "this" ref type */
if (!(state->m->flags & ACC_STATIC)) {
- index = jd->local_map[5*0 + TYPE_ADR];
- if (index != UNUSED) {
+ varindex = jd->local_map[5*0 + TYPE_ADR];
+ if (varindex != UNUSED) {
if (state->validlocals < 1)
TYPECHECK_VERIFYERROR_bool("Not enough local variables for method arguments");
- v = locals + index;
+ v = locals + varindex;
v->type = TYPE_ADR;
if (state->initmethod && newthis)
TYPEINFO_INIT_NEWOBJECT(v->typeinfo, NULL);
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
02110-1301, USA.
- $Id: typeinfo.c 7486 2007-03-08 13:50:07Z twisti $
+ $Id: typeinfo.c 7743 2007-04-17 20:53:41Z edwin $
*/
typedescriptor *returntype)
{
s4 i;
- s4 index;
+ s4 varindex;
s4 type;
s4 slot = 0;
/* check arguments */
for (i=startindex; i<desc->paramcount; ++i) {
type = desc->paramtypes[i].type;
- index = map[5*slot + type];
+ varindex = map[5*slot + type];
slot++;
if (IS_2_WORD_TYPE(type))
slot++;
- if (index == UNUSED)
+ if (varindex == UNUSED)
continue;
- if (index >= buflen) {
+ if (varindex >= buflen) {
exceptions_throw_internalerror("Buffer too small for method arguments.");
return false;
}
- if (!typeinfo_init_varinfo_from_typedesc(vars + index, desc->paramtypes + i))
+ if (!typeinfo_init_varinfo_from_typedesc(vars + varindex, desc->paramtypes + i))
return false;
}