--- a/hotspot/src/share/vm/prims/methodHandles.cpp Tue Oct 12 02:21:06 2010 -0700
+++ b/hotspot/src/share/vm/prims/methodHandles.cpp Wed Oct 13 01:19:43 2010 -0700
@@ -1568,7 +1568,7 @@
if (ptype != T_INT) {
int value_offset = java_lang_boxing_object::value_offset_in_bytes(T_INT);
jint value = argument->int_field(value_offset);
- int vminfo = adapter_subword_vminfo(ptype);
+ int vminfo = adapter_unbox_subword_vminfo(ptype);
jint subword = truncate_subword_from_vminfo(value, vminfo);
if (value != subword) {
err = "bound subword value does not fit into the subword type";
@@ -2018,12 +2018,12 @@
assert(src == T_INT || is_subword_type(src), "source is not float");
// Subword-related cases are int -> {boolean,byte,char,short}.
ek_opt = _adapter_opt_i2i;
- vminfo = adapter_subword_vminfo(dest);
+ vminfo = adapter_prim_to_prim_subword_vminfo(dest);
break;
case 2 *4+ 1:
if (src == T_LONG && (dest == T_INT || is_subword_type(dest))) {
ek_opt = _adapter_opt_l2i;
- vminfo = adapter_subword_vminfo(dest);
+ vminfo = adapter_prim_to_prim_subword_vminfo(dest);
} else if (src == T_DOUBLE && dest == T_FLOAT) {
ek_opt = _adapter_opt_d2f;
} else {
@@ -2051,7 +2051,7 @@
switch (type2size[dest]) {
case 1:
ek_opt = _adapter_opt_unboxi;
- vminfo = adapter_subword_vminfo(dest);
+ vminfo = adapter_unbox_subword_vminfo(dest);
break;
case 2:
ek_opt = _adapter_opt_unboxl;