< prev index next >

src/hotspot/share/code/compiledIC.cpp

Print this page

*** 534,545 **** // null check on a call when the target isn't loaded). // This causes problems when verifying the IC because // it looks vanilla but is optimized. Code in is_call_to_interpreted // is aware of this and weakens its asserts. if (is_optimized) { ! entry = method_code->verified_entry_point(); } else { entry = method_code->entry_point(); } } bool far_c2a = entry != NULL && caller_is_nmethod && method_code->is_far_code(); if (entry != NULL && !far_c2a) { --- 534,546 ---- // null check on a call when the target isn't loaded). // This causes problems when verifying the IC because // it looks vanilla but is optimized. Code in is_call_to_interpreted // is aware of this and weakens its asserts. if (is_optimized) { ! entry = caller_is_c1 ? method_code->verified_value_entry_point() : method_code->verified_entry_point(); } else { + //assert(!(caller_is_c1 && method->has_scalarized_args()), "FIXME - what to do with c1 caller??"); entry = method_code->entry_point(); } } bool far_c2a = entry != NULL && caller_is_nmethod && method_code->is_far_code(); if (entry != NULL && !far_c2a) {
*** 557,566 **** --- 558,568 ---- } } else { // Use icholder entry assert(method_code == NULL || method_code->is_compiled(), "must be compiled"); CompiledICHolder* holder = new CompiledICHolder(method(), receiver_klass); + //assert(!(caller_is_c1 && method->has_scalarized_args()), "FIXME - what to do with c1 caller??"); info.set_icholder_entry(method()->get_c2i_unverified_entry(), holder); } } assert(info.is_optimized() == is_optimized, "must agree"); }
*** 668,689 **** info._to_aot = true; } else { info._to_aot = false; } info._to_interpreter = false; ! if (caller_nm->is_c1()) { info._entry = m_code->verified_value_entry_point(); } else { info._entry = m_code->verified_entry_point(); } } else { // Callee is interpreted code. In any case entering the interpreter // puts a converter-frame on the stack to save arguments. assert(!m->is_method_handle_intrinsic(), "Compiled code should never call interpreter MH intrinsics"); info._to_interpreter = true; ! if (caller_nm->is_c1()) { // C1 -> interp: values passed as oops info._entry = m()->get_c2i_value_entry(); } else { // C2 -> interp: values passed fields info._entry = m()->get_c2i_entry(); --- 670,691 ---- info._to_aot = true; } else { info._to_aot = false; } info._to_interpreter = false; ! if (caller_nm->is_compiled_by_c1()) { info._entry = m_code->verified_value_entry_point(); } else { info._entry = m_code->verified_entry_point(); } } else { // Callee is interpreted code. In any case entering the interpreter // puts a converter-frame on the stack to save arguments. assert(!m->is_method_handle_intrinsic(), "Compiled code should never call interpreter MH intrinsics"); info._to_interpreter = true; ! if (caller_nm->is_compiled_by_c1()) { // C1 -> interp: values passed as oops info._entry = m()->get_c2i_value_entry(); } else { // C2 -> interp: values passed fields info._entry = m()->get_c2i_entry();
< prev index next >