Mercurial > hg > truffle
comparison src/cpu/sparc/vm/assembler_sparc.inline.hpp @ 1503:c640000b7cc1
6829193: JSR 292 needs to support SPARC
Summary: There are unimplemented portions of the hotspot code for method handles and invokedynamic specific to SPARC.
Reviewed-by: kvn, never, jrose
author | twisti |
---|---|
date | Thu, 29 Apr 2010 06:30:25 -0700 |
parents | dcf03e02b020 |
children | fb1a39993f69 |
comparison
equal
deleted
inserted
replaced
1399:90acda19b80f | 1503:c640000b7cc1 |
---|---|
204 inline void Assembler::ldx( Register s1, RegisterOrConstant s2, Register d) { ldx( Address(s1, s2), d); } | 204 inline void Assembler::ldx( Register s1, RegisterOrConstant s2, Register d) { ldx( Address(s1, s2), d); } |
205 inline void Assembler::ld( Register s1, RegisterOrConstant s2, Register d) { ld( Address(s1, s2), d); } | 205 inline void Assembler::ld( Register s1, RegisterOrConstant s2, Register d) { ld( Address(s1, s2), d); } |
206 inline void Assembler::ldd( Register s1, RegisterOrConstant s2, Register d) { ldd( Address(s1, s2), d); } | 206 inline void Assembler::ldd( Register s1, RegisterOrConstant s2, Register d) { ldd( Address(s1, s2), d); } |
207 | 207 |
208 // form effective addresses this way: | 208 // form effective addresses this way: |
209 inline void Assembler::add( Register s1, RegisterOrConstant s2, Register d, int offset) { | 209 inline void Assembler::add(Register s1, RegisterOrConstant s2, Register d, int offset) { |
210 if (s2.is_register()) add(s1, s2.as_register(), d); | 210 if (s2.is_register()) add(s1, s2.as_register(), d); |
211 else { add(s1, s2.as_constant() + offset, d); offset = 0; } | 211 else { add(s1, s2.as_constant() + offset, d); offset = 0; } |
212 if (offset != 0) add(d, offset, d); | 212 if (offset != 0) add(d, offset, d); |
213 } | |
214 | |
215 inline void Assembler::andn(Register s1, RegisterOrConstant s2, Register d) { | |
216 if (s2.is_register()) andn(s1, s2.as_register(), d); | |
217 else andn(s1, s2.as_constant(), d); | |
213 } | 218 } |
214 | 219 |
215 inline void Assembler::ldstub( Register s1, Register s2, Register d) { emit_long( op(ldst_op) | rd(d) | op3(ldstub_op3) | rs1(s1) | rs2(s2) ); } | 220 inline void Assembler::ldstub( Register s1, Register s2, Register d) { emit_long( op(ldst_op) | rd(d) | op3(ldstub_op3) | rs1(s1) | rs2(s2) ); } |
216 inline void Assembler::ldstub( Register s1, int simm13a, Register d) { emit_data( op(ldst_op) | rd(d) | op3(ldstub_op3) | rs1(s1) | immed(true) | simm(simm13a, 13)); } | 221 inline void Assembler::ldstub( Register s1, int simm13a, Register d) { emit_data( op(ldst_op) | rd(d) | op3(ldstub_op3) | rs1(s1) | immed(true) | simm(simm13a, 13)); } |
217 | 222 |