src/share/vm/prims/methodHandles.cpp

changeset 8758
e7db67a9ddfd
parent 8721
575f637864df
parent 8739
0b85ccd62409
child 8856
ac27a9c85bea
child 9327
f96fcd9e1e1b
equal deleted inserted replaced
8726:2d1552b90e2d 8758:e7db67a9ddfd
1 /* 1 /*
2 * Copyright (c) 2008, 2014, Oracle and/or its affiliates. All rights reserved. 2 * Copyright (c) 2008, 2016, Oracle and/or its affiliates. All rights reserved.
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4 * 4 *
5 * This code is free software; you can redistribute it and/or modify it 5 * This code is free software; you can redistribute it and/or modify it
6 * under the terms of the GNU General Public License version 2 only, as 6 * under the terms of the GNU General Public License version 2 only, as
7 * published by the Free Software Foundation. 7 * published by the Free Software Foundation.
671 assert(!is_signature_polymorphic_static(mh_invoke_id), ""); 671 assert(!is_signature_polymorphic_static(mh_invoke_id), "");
672 LinkResolver::resolve_handle_call(result, 672 LinkResolver::resolve_handle_call(result,
673 defc, name, type, caller, THREAD); 673 defc, name, type, caller, THREAD);
674 } else if (ref_kind == JVM_REF_invokeSpecial) { 674 } else if (ref_kind == JVM_REF_invokeSpecial) {
675 LinkResolver::resolve_special_call(result, 675 LinkResolver::resolve_special_call(result,
676 defc, name, type, caller, caller.not_null(), THREAD); 676 Handle(), defc, name, type, caller, caller.not_null(), THREAD);
677 } else if (ref_kind == JVM_REF_invokeVirtual) { 677 } else if (ref_kind == JVM_REF_invokeVirtual) {
678 LinkResolver::resolve_virtual_call(result, Handle(), defc, 678 LinkResolver::resolve_virtual_call(result, Handle(), defc,
679 defc, name, type, caller, caller.not_null(), false, THREAD); 679 defc, name, type, caller, caller.not_null(), false, THREAD);
680 } else { 680 } else {
681 assert(false, err_msg("ref_kind=%d", ref_kind)); 681 assert(false, err_msg("ref_kind=%d", ref_kind));
698 CallInfo result; 698 CallInfo result;
699 { 699 {
700 assert(!HAS_PENDING_EXCEPTION, ""); 700 assert(!HAS_PENDING_EXCEPTION, "");
701 if (name == vmSymbols::object_initializer_name()) { 701 if (name == vmSymbols::object_initializer_name()) {
702 LinkResolver::resolve_special_call(result, 702 LinkResolver::resolve_special_call(result,
703 defc, name, type, caller, caller.not_null(), THREAD); 703 Handle(), defc, name, type, caller, caller.not_null(), THREAD);
704 } else { 704 } else {
705 break; // will throw after end of switch 705 break; // will throw after end of switch
706 } 706 }
707 if (HAS_PENDING_EXCEPTION) { 707 if (HAS_PENDING_EXCEPTION) {
708 return empty; 708 return empty;

mercurial