John, I think there is a bug in MacroAssembler::check_method_handle_type for
x86 (with meth-lazy):
Address basic_type_addr(temp_reg,
delayed_value(java_lang_invoke_MethodTypeForm::basicType_offset_in_bytes,
temp2_reg));
cmp_heap_oop(mtype_reg, basic_type_addr);
if (did_push) pop(temp2_reg);
bind(success);
} else {
jcc(Assembler::notEqual, wrong_method_type);
}
There seems to be a missing jcc:
Address basic_type_addr(temp_reg,
delayed_value(java_lang_invoke_MethodTypeForm::basicType_offset_in_bytes,
temp2_reg));
cmp_heap_oop(mtype_reg, basic_type_addr);
if (did_push) pop(temp2_reg);
+ jcc(Assembler::notEqual, wrong_method_type);
bind(success);
} else {
jcc(Assembler::notEqual, wrong_method_type);
}
-- Chris
_______________________________________________
mlvm-dev mailing list
[email protected]
http://mail.openjdk.java.net/mailman/listinfo/mlvm-dev