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 mlvm-dev@openjdk.java.net http://mail.openjdk.java.net/mailman/listinfo/mlvm-dev