mirror of
https://github.com/openjdk/jdk.git
synced 2025-09-19 10:34:38 +02:00
Merge
This commit is contained in:
commit
72747f47fd
942 changed files with 14494 additions and 31225 deletions
|
@ -763,7 +763,7 @@ JRT_LEAF(BasicType, Deoptimization::unpack_frames(JavaThread* thread, int exec_m
|
|||
guarantee(false, "wrong number of expression stack elements during deopt");
|
||||
}
|
||||
VerifyOopClosure verify;
|
||||
iframe->oops_interpreted_do(&verify, NULL, &rm, false);
|
||||
iframe->oops_interpreted_do(&verify, &rm, false);
|
||||
callee_size_of_parameters = mh->size_of_parameters();
|
||||
callee_max_locals = mh->max_locals();
|
||||
is_top_frame = false;
|
||||
|
@ -897,13 +897,25 @@ void Deoptimization::reassign_type_array_elements(frame* fr, RegisterMap* reg_ma
|
|||
break;
|
||||
}
|
||||
|
||||
case T_SHORT: case T_CHAR: // 2 bytes
|
||||
case T_SHORT:
|
||||
assert(value->type() == T_INT, "Agreement.");
|
||||
val = value->get_int();
|
||||
obj->short_at_put(index, (jshort)*((jint*)&val));
|
||||
break;
|
||||
|
||||
case T_BOOLEAN: case T_BYTE: // 1 byte
|
||||
case T_CHAR:
|
||||
assert(value->type() == T_INT, "Agreement.");
|
||||
val = value->get_int();
|
||||
obj->char_at_put(index, (jchar)*((jint*)&val));
|
||||
break;
|
||||
|
||||
case T_BYTE:
|
||||
assert(value->type() == T_INT, "Agreement.");
|
||||
val = value->get_int();
|
||||
obj->byte_at_put(index, (jbyte)*((jint*)&val));
|
||||
break;
|
||||
|
||||
case T_BOOLEAN:
|
||||
assert(value->type() == T_INT, "Agreement.");
|
||||
val = value->get_int();
|
||||
obj->bool_at_put(index, (jboolean)*((jint*)&val));
|
||||
|
@ -1018,13 +1030,25 @@ static int reassign_fields_by_klass(InstanceKlass* klass, frame* fr, RegisterMap
|
|||
break;
|
||||
}
|
||||
|
||||
case T_SHORT: case T_CHAR: // 2 bytes
|
||||
case T_SHORT:
|
||||
assert(value->type() == T_INT, "Agreement.");
|
||||
val = value->get_int();
|
||||
obj->short_field_put(offset, (jshort)*((jint*)&val));
|
||||
break;
|
||||
|
||||
case T_BOOLEAN: case T_BYTE: // 1 byte
|
||||
case T_CHAR:
|
||||
assert(value->type() == T_INT, "Agreement.");
|
||||
val = value->get_int();
|
||||
obj->char_field_put(offset, (jchar)*((jint*)&val));
|
||||
break;
|
||||
|
||||
case T_BYTE:
|
||||
assert(value->type() == T_INT, "Agreement.");
|
||||
val = value->get_int();
|
||||
obj->byte_field_put(offset, (jbyte)*((jint*)&val));
|
||||
break;
|
||||
|
||||
case T_BOOLEAN:
|
||||
assert(value->type() == T_INT, "Agreement.");
|
||||
val = value->get_int();
|
||||
obj->bool_field_put(offset, (jboolean)*((jint*)&val));
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue