mirror of
https://github.com/openjdk/jdk.git
synced 2025-08-26 14:24:46 +02:00
7018378: JSR 292: _bound_int_mh produces wrong result on 64-bit SPARC
Reviewed-by: kvn
This commit is contained in:
parent
add4b5bf69
commit
c2b37037c6
6 changed files with 63 additions and 48 deletions
|
@ -2407,14 +2407,23 @@ void MacroAssembler::lcmp( Register Ra, Register Rb, Register Rresult) {
|
|||
#endif
|
||||
|
||||
|
||||
void MacroAssembler::load_sized_value(Address src, Register dst,
|
||||
size_t size_in_bytes, bool is_signed) {
|
||||
void MacroAssembler::load_sized_value(Address src, Register dst, size_t size_in_bytes, bool is_signed) {
|
||||
switch (size_in_bytes) {
|
||||
case 8: ldx(src, dst); break;
|
||||
case 4: ld( src, dst); break;
|
||||
case 2: is_signed ? ldsh(src, dst) : lduh(src, dst); break;
|
||||
case 1: is_signed ? ldsb(src, dst) : ldub(src, dst); break;
|
||||
default: ShouldNotReachHere();
|
||||
case 8: ld_long(src, dst); break;
|
||||
case 4: ld( src, dst); break;
|
||||
case 2: is_signed ? ldsh(src, dst) : lduh(src, dst); break;
|
||||
case 1: is_signed ? ldsb(src, dst) : ldub(src, dst); break;
|
||||
default: ShouldNotReachHere();
|
||||
}
|
||||
}
|
||||
|
||||
void MacroAssembler::store_sized_value(Register src, Address dst, size_t size_in_bytes) {
|
||||
switch (size_in_bytes) {
|
||||
case 8: st_long(src, dst); break;
|
||||
case 4: st( src, dst); break;
|
||||
case 2: sth( src, dst); break;
|
||||
case 1: stb( src, dst); break;
|
||||
default: ShouldNotReachHere();
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue