equal
deleted
inserted
replaced
3701 |
3701 |
3702 const TypeFunc* tf = TypeFunc::make(method); |
3702 const TypeFunc* tf = TypeFunc::make(method); |
3703 CallJavaNode* slow_call; |
3703 CallJavaNode* slow_call; |
3704 if (is_static) { |
3704 if (is_static) { |
3705 assert(!is_virtual, ""); |
3705 assert(!is_virtual, ""); |
3706 slow_call = new(C) CallStaticJavaNode(tf, |
3706 slow_call = new(C) CallStaticJavaNode(C, tf, |
3707 SharedRuntime::get_resolve_static_call_stub(), |
3707 SharedRuntime::get_resolve_static_call_stub(), |
3708 method, bci()); |
3708 method, bci()); |
3709 } else if (is_virtual) { |
3709 } else if (is_virtual) { |
3710 null_check_receiver(); |
3710 null_check_receiver(); |
3711 int vtable_index = Method::invalid_vtable_index; |
3711 int vtable_index = Method::invalid_vtable_index; |
3720 slow_call = new(C) CallDynamicJavaNode(tf, |
3720 slow_call = new(C) CallDynamicJavaNode(tf, |
3721 SharedRuntime::get_resolve_virtual_call_stub(), |
3721 SharedRuntime::get_resolve_virtual_call_stub(), |
3722 method, vtable_index, bci()); |
3722 method, vtable_index, bci()); |
3723 } else { // neither virtual nor static: opt_virtual |
3723 } else { // neither virtual nor static: opt_virtual |
3724 null_check_receiver(); |
3724 null_check_receiver(); |
3725 slow_call = new(C) CallStaticJavaNode(tf, |
3725 slow_call = new(C) CallStaticJavaNode(C, tf, |
3726 SharedRuntime::get_resolve_opt_virtual_call_stub(), |
3726 SharedRuntime::get_resolve_opt_virtual_call_stub(), |
3727 method, bci()); |
3727 method, bci()); |
3728 slow_call->set_optimized_virtual(true); |
3728 slow_call->set_optimized_virtual(true); |
3729 } |
3729 } |
3730 set_arguments_for_java_call(slow_call); |
3730 set_arguments_for_java_call(slow_call); |