src/share/vm/prims/methodHandles.hpp

changeset 8951
0612a789929b
parent 8721
575f637864df
child 8856
ac27a9c85bea
equal deleted inserted replaced
8950:0b3b35f008f2 8951:0612a789929b
1 /* 1 /*
2 * Copyright (c) 2008, 2014, Oracle and/or its affiliates. All rights reserved. 2 * Copyright (c) 2008, 2017, 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.
58 static Handle resolve_MemberName(Handle mname, KlassHandle caller, TRAPS); // compute vmtarget/vmindex from name/type 58 static Handle resolve_MemberName(Handle mname, KlassHandle caller, TRAPS); // compute vmtarget/vmindex from name/type
59 static void expand_MemberName(Handle mname, int suppress, TRAPS); // expand defc/name/type if missing 59 static void expand_MemberName(Handle mname, int suppress, TRAPS); // expand defc/name/type if missing
60 static Handle new_MemberName(TRAPS); // must be followed by init_MemberName 60 static Handle new_MemberName(TRAPS); // must be followed by init_MemberName
61 static oop init_MemberName(Handle mname_h, Handle target_h); // compute vmtarget/vmindex from target 61 static oop init_MemberName(Handle mname_h, Handle target_h); // compute vmtarget/vmindex from target
62 static oop init_field_MemberName(Handle mname_h, fieldDescriptor& fd, bool is_setter = false); 62 static oop init_field_MemberName(Handle mname_h, fieldDescriptor& fd, bool is_setter = false);
63 static oop init_method_MemberName(Handle mname_h, CallInfo& info); 63 static oop init_method_MemberName(Handle mname_h, CallInfo& info, bool intern = true);
64 static int method_ref_kind(Method* m, bool do_dispatch_if_possible = true); 64 static int method_ref_kind(Method* m, bool do_dispatch_if_possible = true);
65 static int find_MemberNames(KlassHandle k, Symbol* name, Symbol* sig, 65 static int find_MemberNames(KlassHandle k, Symbol* name, Symbol* sig,
66 int mflags, KlassHandle caller, 66 int mflags, KlassHandle caller,
67 int skip, objArrayHandle results); 67 int skip, objArrayHandle results);
68 // bit values for suppress argument to expand_MemberName: 68 // bit values for suppress argument to expand_MemberName:
234 234
235 class MemberNameTable : public GrowableArray<jweak> { 235 class MemberNameTable : public GrowableArray<jweak> {
236 public: 236 public:
237 MemberNameTable(int methods_cnt); 237 MemberNameTable(int methods_cnt);
238 ~MemberNameTable(); 238 ~MemberNameTable();
239 void add_member_name(jweak mem_name_ref); 239 oop add_member_name(jweak mem_name_ref);
240 oop find_or_add_member_name(jweak mem_name_ref);
240 241
241 #if INCLUDE_JVMTI 242 #if INCLUDE_JVMTI
242 // RedefineClasses() API support: 243 // RedefineClasses() API support:
243 // If a MemberName refers to old_method then update it to refer to new_method. 244 // If a MemberName refers to old_method then update it to refer to new_method.
244 void adjust_method_entries(InstanceKlass* holder, bool * trace_name_printed); 245 void adjust_method_entries(InstanceKlass* holder, bool * trace_name_printed);

mercurial