src/cpu/sparc/vm/assembler_sparc.hpp

changeset 2350
2f644f85485d
parent 2344
ac637b7220d1
child 2399
7737fa7ec2b5
child 2423
b1a2afa37ec4
     1.1 --- a/src/cpu/sparc/vm/assembler_sparc.hpp	Thu Dec 02 17:21:12 2010 -0800
     1.2 +++ b/src/cpu/sparc/vm/assembler_sparc.hpp	Fri Dec 03 01:34:31 2010 -0800
     1.3 @@ -1621,6 +1621,10 @@
     1.4  
     1.5    void sub(    Register s1, Register s2, Register d ) { emit_long( op(arith_op) | rd(d) | op3(sub_op3              ) | rs1(s1) | rs2(s2) ); }
     1.6    void sub(    Register s1, int simm13a, Register d ) { emit_long( op(arith_op) | rd(d) | op3(sub_op3              ) | rs1(s1) | immed(true) | simm(simm13a, 13) ); }
     1.7 +
     1.8 +  // Note: offset is added to s2.
     1.9 +  inline void sub(Register s1, RegisterOrConstant s2, Register d, int offset = 0);
    1.10 +
    1.11    void subcc(  Register s1, Register s2, Register d ) { emit_long( op(arith_op) | rd(d) | op3(sub_op3 | cc_bit_op3 ) | rs1(s1) | rs2(s2) ); }
    1.12    void subcc(  Register s1, int simm13a, Register d ) { emit_long( op(arith_op) | rd(d) | op3(sub_op3 | cc_bit_op3 ) | rs1(s1) | immed(true) | simm(simm13a, 13) ); }
    1.13    void subc(   Register s1, Register s2, Register d ) { emit_long( op(arith_op) | rd(d) | op3(subc_op3             ) | rs1(s1) | rs2(s2) ); }
    1.14 @@ -1895,6 +1899,9 @@
    1.15    void patchable_set(intptr_t value, Register d);
    1.16    void set64(jlong value, Register d, Register tmp);
    1.17  
    1.18 +  // Compute size of set64.
    1.19 +  static int size_of_set64(jlong value);
    1.20 +
    1.21    // sign-extend 32 to 64
    1.22    inline void signx( Register s, Register d ) { sra( s, G0, d); }
    1.23    inline void signx( Register d )             { sra( d, G0, d); }

mercurial