mirror of
https://github.com/openjdk/jdk.git
synced 2025-09-18 10:04:42 +02:00
8244224: Implementation of JEP 381: Remove the Solaris and SPARC Ports
Reviewed-by: alanb, bchristi, dcubed, dfuchs, eosterlund, erikj, glaubitz, ihse, iignatyev, jjiang, kbarrett, ksrini, kvn, naoto, prr, rriggs, serb, sspitsyn, stefank, tschatzl, valeriep, weijun, weijun
This commit is contained in:
parent
9fe4b69c1a
commit
071bd521bc
954 changed files with 1093 additions and 127816 deletions
|
@ -1083,23 +1083,9 @@ static void byte_array_put(typeArrayOop obj, intptr_t val, int index, int byte_c
|
|||
case 4:
|
||||
*((jint *) check_alignment_get_addr(obj, index, 4)) = (jint) *((jint *) &val);
|
||||
break;
|
||||
case 8: {
|
||||
#ifdef _LP64
|
||||
jlong res = (jlong) *((jlong *) &val);
|
||||
#else
|
||||
#ifdef SPARC
|
||||
// For SPARC we have to swap high and low words.
|
||||
jlong v = (jlong) *((jlong *) &val);
|
||||
jlong res = 0;
|
||||
res |= ((v & (jlong) 0xffffffff) << 32);
|
||||
res |= ((v >> 32) & (jlong) 0xffffffff);
|
||||
#else
|
||||
jlong res = (jlong) *((jlong *) &val);
|
||||
#endif // SPARC
|
||||
#endif
|
||||
*((jlong *) check_alignment_get_addr(obj, index, 8)) = res;
|
||||
case 8:
|
||||
*((jlong *) check_alignment_get_addr(obj, index, 8)) = (jlong) *((jlong *) &val);
|
||||
break;
|
||||
}
|
||||
default:
|
||||
ShouldNotReachHere();
|
||||
}
|
||||
|
@ -1121,13 +1107,8 @@ void Deoptimization::reassign_type_array_elements(frame* fr, RegisterMap* reg_ma
|
|||
StackValue::create_stack_value(fr, reg_map, sv->field_at(++i));
|
||||
#ifdef _LP64
|
||||
jlong res = (jlong)low->get_int();
|
||||
#else
|
||||
#ifdef SPARC
|
||||
// For SPARC we have to swap high and low words.
|
||||
jlong res = jlong_from((jint)low->get_int(), (jint)value->get_int());
|
||||
#else
|
||||
jlong res = jlong_from((jint)value->get_int(), (jint)low->get_int());
|
||||
#endif //SPARC
|
||||
#endif
|
||||
obj->long_at_put(index, res);
|
||||
break;
|
||||
|
@ -1155,13 +1136,8 @@ void Deoptimization::reassign_type_array_elements(frame* fr, RegisterMap* reg_ma
|
|||
StackValue* low = StackValue::create_stack_value(fr, reg_map, sv->field_at(++i));
|
||||
#ifdef _LP64
|
||||
jlong res = (jlong)low->get_int();
|
||||
#else
|
||||
#ifdef SPARC
|
||||
// For SPARC we have to swap high and low words.
|
||||
jlong res = jlong_from((jint)low->get_int(), (jint)value->get_int());
|
||||
#else
|
||||
jlong res = jlong_from((jint)value->get_int(), (jint)low->get_int());
|
||||
#endif //SPARC
|
||||
#endif
|
||||
obj->int_at_put(index, (jint)*((jint*)&res));
|
||||
obj->int_at_put(++index, (jint)*(((jint*)&res) + 1));
|
||||
|
@ -1305,13 +1281,8 @@ static int reassign_fields_by_klass(InstanceKlass* klass, frame* fr, RegisterMap
|
|||
StackValue* low = StackValue::create_stack_value(fr, reg_map, sv->field_at(++svIndex));
|
||||
#ifdef _LP64
|
||||
jlong res = (jlong)low->get_int();
|
||||
#else
|
||||
#ifdef SPARC
|
||||
// For SPARC we have to swap high and low words.
|
||||
jlong res = jlong_from((jint)low->get_int(), (jint)value->get_int());
|
||||
#else
|
||||
jlong res = jlong_from((jint)value->get_int(), (jint)low->get_int());
|
||||
#endif //SPARC
|
||||
#endif
|
||||
obj->long_field_put(offset, res);
|
||||
break;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue