1.1 --- a/src/cpu/sparc/vm/assembler_sparc.inline.hpp Thu Dec 02 17:21:12 2010 -0800 1.2 +++ b/src/cpu/sparc/vm/assembler_sparc.inline.hpp Fri Dec 03 01:34:31 2010 -0800 1.3 @@ -328,6 +328,11 @@ 1.4 inline void Assembler::stdcq( int crd, Register s1, Register s2) { v8_only(); emit_long( op(ldst_op) | fcn(crd) | op3(stdcq_op3) | rs1(s1) | rs2(s2) ); } 1.5 inline void Assembler::stdcq( int crd, Register s1, int simm13a) { v8_only(); emit_data( op(ldst_op) | fcn(crd) | op3(stdcq_op3) | rs1(s1) | immed(true) | simm(simm13a, 13)); } 1.6 1.7 +inline void Assembler::sub(Register s1, RegisterOrConstant s2, Register d, int offset) { 1.8 + if (s2.is_register()) sub(s1, s2.as_register(), d); 1.9 + else { sub(s1, s2.as_constant() + offset, d); offset = 0; } 1.10 + if (offset != 0) sub(d, offset, d); 1.11 +} 1.12 1.13 // pp 231 1.14