X-Git-Url: http://wien.tomnetworks.com/gitweb/?a=blobdiff_plain;f=src%2Fvm%2Fjit%2Fi386%2Femit.c;h=fbc38dcb7de51c62cb7410e05a5080293560eb85;hb=add35c29eddac8e51219ba6410234e89e23fa796;hp=46feebf6c89eb79c45339cb901023bb077d330e8;hpb=ec8a7825ec4c6c114b39cb3cfb5694bc68c8fc59;p=cacao.git diff --git a/src/vm/jit/i386/emit.c b/src/vm/jit/i386/emit.c index 46feebf6c..fbc38dcb7 100644 --- a/src/vm/jit/i386/emit.c +++ b/src/vm/jit/i386/emit.c @@ -28,7 +28,7 @@ Changes: - $Id: emit.c 5401 2006-09-07 12:52:31Z twisti $ + $Id: emit.c 5404 2006-09-07 13:29:05Z christian $ */ @@ -62,7 +62,7 @@ *******************************************************************************/ -inline s4 emit_load(jitdata *jd, instruction *iptr, stackptr src, s4 tempreg) +inline s4 emit_load(jitdata *jd, instruction *iptr, varinfo *src, s4 tempreg) { codegendata *cd; s4 disp; @@ -105,7 +105,7 @@ inline s4 emit_load(jitdata *jd, instruction *iptr, stackptr src, s4 tempreg) *******************************************************************************/ -inline s4 emit_load_low(jitdata *jd, instruction *iptr, stackptr src, s4 tempreg) +inline s4 emit_load_low(jitdata *jd, instruction *iptr, varinfo *src,s4 tempreg) { codegendata *cd; s4 disp; @@ -140,7 +140,7 @@ inline s4 emit_load_low(jitdata *jd, instruction *iptr, stackptr src, s4 tempreg *******************************************************************************/ -inline s4 emit_load_high(jitdata *jd, instruction *iptr, stackptr src, s4 tempreg) +inline s4 emit_load_high(jitdata *jd, instruction *iptr,varinfo *src,s4 tempreg) { codegendata *cd; s4 disp; @@ -176,12 +176,12 @@ inline s4 emit_load_high(jitdata *jd, instruction *iptr, stackptr src, s4 tempre s4 emit_load_s1(jitdata *jd, instruction *iptr, s4 tempreg) { - stackptr src; + varinfo *src; s4 reg; /* get required compiler data */ - src = iptr->s1.var; + src = &(jd->var[iptr->s1.varindex]); reg = emit_load(jd, iptr, src, tempreg); @@ -197,12 +197,12 @@ s4 emit_load_s1(jitdata *jd, instruction *iptr, s4 tempreg) s4 emit_load_s2(jitdata *jd, instruction *iptr, s4 tempreg) { - stackptr src; + varinfo *src; s4 reg; /* get required compiler data */ - src = iptr->sx.s23.s2.var; + src = &(jd->var[iptr->sx.s23.s2.varindex]); reg = emit_load(jd, iptr, src, tempreg); @@ -218,12 +218,12 @@ s4 emit_load_s2(jitdata *jd, instruction *iptr, s4 tempreg) s4 emit_load_s3(jitdata *jd, instruction *iptr, s4 tempreg) { - stackptr src; + varinfo *src; s4 reg; /* get required compiler data */ - src = iptr->sx.s23.s3.var; + src = &(jd->var[iptr->sx.s23.s3.varindex]); reg = emit_load(jd, iptr, src, tempreg); @@ -240,13 +240,13 @@ s4 emit_load_s3(jitdata *jd, instruction *iptr, s4 tempreg) s4 emit_load_s1_low(jitdata *jd, instruction *iptr, s4 tempreg) { - stackptr src; + varinfo *src; s4 reg; /* get required compiler data */ - src = iptr->s1.var; + src = &(jd->var[iptr->s1.varindex]); reg = emit_load_low(jd, iptr, src, tempreg); @@ -265,12 +265,12 @@ s4 emit_load_s1_low(jitdata *jd, instruction *iptr, s4 tempreg) s4 emit_load_s2_low(jitdata *jd, instruction *iptr, s4 tempreg) { - stackptr src; + varinfo *src; s4 reg; /* get required compiler data */ - src = iptr->sx.s23.s2.var; + src = &(jd->var[iptr->sx.s23.s2.varindex]); reg = emit_load_low(jd, iptr, src, tempreg); @@ -287,12 +287,12 @@ s4 emit_load_s2_low(jitdata *jd, instruction *iptr, s4 tempreg) s4 emit_load_s1_high(jitdata *jd, instruction *iptr, s4 tempreg) { - stackptr src; + varinfo *src; s4 reg; /* get required compiler data */ - src = iptr->s1.var; + src = &(jd->var[iptr->s1.varindex]); reg = emit_load_high(jd, iptr, src, tempreg); @@ -309,12 +309,12 @@ s4 emit_load_s1_high(jitdata *jd, instruction *iptr, s4 tempreg) s4 emit_load_s2_high(jitdata *jd, instruction *iptr, s4 tempreg) { - stackptr src; + varinfo *src; s4 reg; /* get required compiler data */ - src = iptr->sx.s23.s2.var; + src = &(jd->var[iptr->sx.s23.s2.varindex]); reg = emit_load_high(jd, iptr, src, tempreg); @@ -328,7 +328,7 @@ s4 emit_load_s2_high(jitdata *jd, instruction *iptr, s4 tempreg) *******************************************************************************/ -inline void emit_store(jitdata *jd, instruction *iptr, stackptr dst, s4 d) +inline void emit_store(jitdata *jd, instruction *iptr, varinfo *dst, s4 d) { codegendata *cd; @@ -362,7 +362,7 @@ inline void emit_store(jitdata *jd, instruction *iptr, stackptr dst, s4 d) *******************************************************************************/ -inline void emit_store_low(jitdata *jd, instruction *iptr, stackptr dst, s4 d) +inline void emit_store_low(jitdata *jd, instruction *iptr, varinfo *dst, s4 d) { codegendata *cd; @@ -386,7 +386,7 @@ inline void emit_store_low(jitdata *jd, instruction *iptr, stackptr dst, s4 d) *******************************************************************************/ -inline void emit_store_high(jitdata *jd, instruction *iptr, stackptr dst, s4 d) +inline void emit_store_high(jitdata *jd, instruction *iptr, varinfo *dst, s4 d) { codegendata *cd; @@ -413,9 +413,9 @@ inline void emit_store_high(jitdata *jd, instruction *iptr, stackptr dst, s4 d) void emit_store_dst(jitdata *jd, instruction *iptr, s4 d) { - stackptr dst; + varinfo *dst; - dst = iptr->dst.var; + dst = &(jd->var[iptr->dst.varindex]); emit_store(jd, iptr, dst, d); } @@ -427,16 +427,14 @@ void emit_store_dst(jitdata *jd, instruction *iptr, s4 d) *******************************************************************************/ -void emit_copy(jitdata *jd, instruction *iptr, stackptr src, stackptr dst) +void emit_copy(jitdata *jd, instruction *iptr, varinfo *src, varinfo *dst) { codegendata *cd; - registerdata *rd; s4 s1, d; /* get required compiler data */ cd = jd->cd; - rd = jd->rd; if ((src->regoff != dst->regoff) || ((src->flags ^ dst->flags) & INMEMORY)) { @@ -447,9 +445,9 @@ void emit_copy(jitdata *jd, instruction *iptr, stackptr src, stackptr dst) if (IS_INMEMORY(src->flags)) { if (IS_LNG_TYPE(src->type)) - d = codegen_reg_of_var(rd, iptr->opc, dst, REG_ITMP12_PACKED); + d = codegen_reg_of_var(iptr->opc, dst, REG_ITMP12_PACKED); else - d = codegen_reg_of_var(rd, iptr->opc, dst, REG_ITMP1); + d = codegen_reg_of_var(iptr->opc, dst, REG_ITMP1); s1 = emit_load(jd, iptr, src, d); } @@ -459,7 +457,7 @@ void emit_copy(jitdata *jd, instruction *iptr, stackptr src, stackptr dst) else s1 = emit_load(jd, iptr, src, REG_ITMP1); - d = codegen_reg_of_var(rd, iptr->opc, dst, s1); + d = codegen_reg_of_var(iptr->opc, dst, s1); } if (s1 != d) {