< prev index next >
src/share/vm/jvmci/jvmciCompilerToVM.cpp
Print this page
*** 597,612 ****
int cp_index = Bytes::get_native_u2((address) reconstituted_code->byte_at_addr(bci + 1));
Bytes::put_Java_u2((address) reconstituted_code->byte_at_addr(bci + 1), (u2) cp_index);
break;
}
! case Bytecodes::_invokedynamic:
int cp_index = Bytes::get_native_u4((address) reconstituted_code->byte_at_addr(bci + 1));
Bytes::put_Java_u4((address) reconstituted_code->byte_at_addr(bci + 1), (u4) cp_index);
break;
}
// Not all ldc byte code are rewritten.
switch (raw_code) {
case Bytecodes::_fast_aldc: {
int cpc_index = reconstituted_code->byte_at(bci + 1) & 0xff;
int cp_index = method->constants()->object_to_cp_index(cpc_index);
--- 597,616 ----
int cp_index = Bytes::get_native_u2((address) reconstituted_code->byte_at_addr(bci + 1));
Bytes::put_Java_u2((address) reconstituted_code->byte_at_addr(bci + 1), (u2) cp_index);
break;
}
! case Bytecodes::_invokedynamic: {
int cp_index = Bytes::get_native_u4((address) reconstituted_code->byte_at_addr(bci + 1));
Bytes::put_Java_u4((address) reconstituted_code->byte_at_addr(bci + 1), (u4) cp_index);
break;
}
+ default:
+ break;
+ }
+
// Not all ldc byte code are rewritten.
switch (raw_code) {
case Bytecodes::_fast_aldc: {
int cpc_index = reconstituted_code->byte_at(bci + 1) & 0xff;
int cp_index = method->constants()->object_to_cp_index(cpc_index);
*** 620,629 ****
--- 624,636 ----
int cp_index = method->constants()->object_to_cp_index(cpc_index);
assert(cp_index < method->constants()->length(), "sanity check");
Bytes::put_Java_u2((address) reconstituted_code->byte_at_addr(bci + 1), (u2) cp_index);
break;
}
+
+ default:
+ break;
}
}
}
return (jbyteArray) JNIHandles::make_local(THREAD, reconstituted_code);
*** 962,972 ****
LinkInfo link_info(resolved, h_name, h_signature, caller_klass);
methodHandle m;
// Only do exact lookup if receiver klass has been linked. Otherwise,
// the vtable has not been setup, and the LinkResolver will fail.
if (recv_klass->is_array_klass() ||
! InstanceKlass::cast(recv_klass)->is_linked() && !recv_klass->is_interface()) {
if (resolved->is_interface()) {
m = LinkResolver::resolve_interface_call_or_null(recv_klass, link_info);
} else {
m = LinkResolver::resolve_virtual_call_or_null(recv_klass, link_info);
}
--- 969,979 ----
LinkInfo link_info(resolved, h_name, h_signature, caller_klass);
methodHandle m;
// Only do exact lookup if receiver klass has been linked. Otherwise,
// the vtable has not been setup, and the LinkResolver will fail.
if (recv_klass->is_array_klass() ||
! (InstanceKlass::cast(recv_klass)->is_linked() && !recv_klass->is_interface())) {
if (resolved->is_interface()) {
m = LinkResolver::resolve_interface_call_or_null(recv_klass, link_info);
} else {
m = LinkResolver::resolve_virtual_call_or_null(recv_klass, link_info);
}
*** 1237,1246 ****
--- 1244,1255 ----
value->c = (jchar) value->i;
break;
case T_SHORT:
value->s = (jshort) value->i;
break;
+ default:
+ break;
}
oop o = java_lang_boxing_object::create(jap.get_ret_type(), value, CHECK_NULL);
return JNIHandles::make_local(THREAD, o);
}
C2V_END
< prev index next >