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:
Mikael Vidstedt 2020-05-20 17:33:37 -07:00
parent 9fe4b69c1a
commit 071bd521bc
954 changed files with 1093 additions and 127816 deletions

View file

@ -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;