src/share/vm/prims/methodHandles.cpp

changeset 8914
75000d7dd468
parent 8739
0b85ccd62409
child 8758
e7db67a9ddfd
equal deleted inserted replaced
8913:6fd7899f5669 8914:75000d7dd468
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.
677 assert(!is_signature_polymorphic_static(mh_invoke_id), ""); 677 assert(!is_signature_polymorphic_static(mh_invoke_id), "");
678 LinkResolver::resolve_handle_call(result, 678 LinkResolver::resolve_handle_call(result,
679 defc, name, type, caller, THREAD); 679 defc, name, type, caller, THREAD);
680 } else if (ref_kind == JVM_REF_invokeSpecial) { 680 } else if (ref_kind == JVM_REF_invokeSpecial) {
681 LinkResolver::resolve_special_call(result, 681 LinkResolver::resolve_special_call(result,
682 defc, name, type, caller, caller.not_null(), THREAD); 682 Handle(), defc, name, type, caller, caller.not_null(), THREAD);
683 } else if (ref_kind == JVM_REF_invokeVirtual) { 683 } else if (ref_kind == JVM_REF_invokeVirtual) {
684 LinkResolver::resolve_virtual_call(result, Handle(), defc, 684 LinkResolver::resolve_virtual_call(result, Handle(), defc,
685 defc, name, type, caller, caller.not_null(), false, THREAD); 685 defc, name, type, caller, caller.not_null(), false, THREAD);
686 } else { 686 } else {
687 assert(false, err_msg("ref_kind=%d", ref_kind)); 687 assert(false, err_msg("ref_kind=%d", ref_kind));
704 CallInfo result; 704 CallInfo result;
705 { 705 {
706 assert(!HAS_PENDING_EXCEPTION, ""); 706 assert(!HAS_PENDING_EXCEPTION, "");
707 if (name == vmSymbols::object_initializer_name()) { 707 if (name == vmSymbols::object_initializer_name()) {
708 LinkResolver::resolve_special_call(result, 708 LinkResolver::resolve_special_call(result,
709 defc, name, type, caller, caller.not_null(), THREAD); 709 Handle(), defc, name, type, caller, caller.not_null(), THREAD);
710 } else { 710 } else {
711 break; // will throw after end of switch 711 break; // will throw after end of switch
712 } 712 }
713 if (HAS_PENDING_EXCEPTION) { 713 if (HAS_PENDING_EXCEPTION) {
714 return empty; 714 return empty;

mercurial