src/cpu/sparc/vm/c1_FrameMap_sparc.hpp

changeset 2138
d5d065957597
parent 1934
e9ff18c4ace7
child 2314
f95d63e2154a
     1.1 --- a/src/cpu/sparc/vm/c1_FrameMap_sparc.hpp	Thu Sep 02 11:40:02 2010 -0700
     1.2 +++ b/src/cpu/sparc/vm/c1_FrameMap_sparc.hpp	Fri Sep 03 17:51:07 2010 -0700
     1.3 @@ -103,6 +103,7 @@
     1.4  
     1.5    static LIR_Opr in_long_opr;
     1.6    static LIR_Opr out_long_opr;
     1.7 +  static LIR_Opr g1_long_single_opr;
     1.8  
     1.9    static LIR_Opr F0_opr;
    1.10    static LIR_Opr F0_double_opr;
    1.11 @@ -113,18 +114,25 @@
    1.12   private:
    1.13    static FloatRegister  _fpu_regs [nof_fpu_regs];
    1.14  
    1.15 +  static LIR_Opr as_long_single_opr(Register r) {
    1.16 +    return LIR_OprFact::double_cpu(cpu_reg2rnr(r), cpu_reg2rnr(r));
    1.17 +  }
    1.18 +  static LIR_Opr as_long_pair_opr(Register r) {
    1.19 +    return LIR_OprFact::double_cpu(cpu_reg2rnr(r->successor()), cpu_reg2rnr(r));
    1.20 +  }
    1.21 +
    1.22   public:
    1.23  
    1.24  #ifdef _LP64
    1.25    static LIR_Opr as_long_opr(Register r) {
    1.26 -    return LIR_OprFact::double_cpu(cpu_reg2rnr(r), cpu_reg2rnr(r));
    1.27 +    return as_long_single_opr(r);
    1.28    }
    1.29    static LIR_Opr as_pointer_opr(Register r) {
    1.30 -    return LIR_OprFact::double_cpu(cpu_reg2rnr(r), cpu_reg2rnr(r));
    1.31 +    return as_long_single_opr(r);
    1.32    }
    1.33  #else
    1.34    static LIR_Opr as_long_opr(Register r) {
    1.35 -    return LIR_OprFact::double_cpu(cpu_reg2rnr(r->successor()), cpu_reg2rnr(r));
    1.36 +    return as_long_pair_opr(r);
    1.37    }
    1.38    static LIR_Opr as_pointer_opr(Register r) {
    1.39      return as_opr(r);

mercurial