1.1 --- a/src/share/vm/oops/cpCache.hpp Tue Aug 08 12:02:01 2017 +0100 1.2 +++ b/src/share/vm/oops/cpCache.hpp Fri Sep 29 14:30:05 2017 -0400 1.3 @@ -1,5 +1,5 @@ 1.4 /* 1.5 - * Copyright (c) 1998, 2016, Oracle and/or its affiliates. All rights reserved. 1.6 + * Copyright (c) 1998, 2017, Oracle and/or its affiliates. All rights reserved. 1.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 1.8 * 1.9 * This code is free software; you can redistribute it and/or modify it 1.10 @@ -248,6 +248,7 @@ 1.11 1.12 void set_itable_call( 1.13 Bytecodes::Code invoke_code, // the bytecode used; must be invokeinterface 1.14 + KlassHandle referenced_klass, // the referenced klass in the InterfaceMethodref 1.15 methodHandle method, // the resolved interface method 1.16 int itable_index // index into itable for the method 1.17 ); 1.18 @@ -344,6 +345,7 @@ 1.19 bool is_f1_null() const { Metadata* f1 = f1_ord(); return f1 == NULL; } // classifies a CPC entry as unbound 1.20 int f2_as_index() const { assert(!is_vfinal(), ""); return (int) _f2; } 1.21 Method* f2_as_vfinal_method() const { assert(is_vfinal(), ""); return (Method*)_f2; } 1.22 + Method* f2_as_interface_method() const { assert(bytecode_1() == Bytecodes::_invokeinterface, ""); return (Method*)_f2; } 1.23 int field_index() const { assert(is_field_entry(), ""); return (_flags & field_index_mask); } 1.24 int parameter_size() const { assert(is_method_entry(), ""); return (_flags & parameter_size_mask); } 1.25 bool is_volatile() const { return (_flags & (1 << is_volatile_shift)) != 0; } 1.26 @@ -374,7 +376,7 @@ 1.27 // trace_name_printed is set to true if the current call has 1.28 // printed the klass name so that other routines in the adjust_* 1.29 // group don't print the klass name. 1.30 - bool adjust_method_entry(Method* old_method, Method* new_method, 1.31 + void adjust_method_entry(Method* old_method, Method* new_method, 1.32 bool* trace_name_printed); 1.33 bool check_no_old_or_obsolete_entries(); 1.34 Method* get_interesting_method_entry(Klass* k);