diff -r 6061df52d610 -r 53ccc37bda19 hotspot/src/share/vm/prims/jvmtiRedefineClasses.hpp --- a/hotspot/src/share/vm/prims/jvmtiRedefineClasses.hpp Wed Mar 15 11:44:46 2017 +0100 +++ b/hotspot/src/share/vm/prims/jvmtiRedefineClasses.hpp Wed Mar 15 10:25:37 2017 -0400 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2003, 2016, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2003, 2017, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -348,7 +348,7 @@ static int _matching_methods_length; static int _deleted_methods_length; static int _added_methods_length; - static Klass* _the_class_oop; + static Klass* _the_class; // The instance fields are used to pass information from // doit_prologue() to doit() and doit_epilogue(). @@ -371,7 +371,7 @@ intArray * _operands_index_map_p; // ptr to _class_count scratch_classes - Klass** _scratch_classes; + InstanceKlass** _scratch_classes; jvmtiError _res; // Performance measurement support. These timers do not cover all @@ -393,7 +393,7 @@ // the restrictions of RedefineClasses. Normalize the order of // overloaded methods as needed. jvmtiError compare_and_normalize_class_versions( - instanceKlassHandle the_class, instanceKlassHandle scratch_class); + InstanceKlass* the_class, InstanceKlass* scratch_class); // Figure out which new methods match old methods in name and signature, // which methods have been added, and which are no longer present @@ -405,14 +405,14 @@ // In addition to marking methods as old and/or obsolete, this routine // counts the number of methods that are EMCP (Equivalent Module Constant Pool). int check_methods_and_mark_as_obsolete(); - void transfer_old_native_function_registrations(instanceKlassHandle the_class); + void transfer_old_native_function_registrations(InstanceKlass* the_class); // Install the redefinition of a class void redefine_single_class(jclass the_jclass, - Klass* scratch_class_oop, TRAPS); + InstanceKlass* scratch_class_oop, TRAPS); - void swap_annotations(instanceKlassHandle new_class, - instanceKlassHandle scratch_class); + void swap_annotations(InstanceKlass* new_class, + InstanceKlass* scratch_class); // Increment the classRedefinedCount field in the specific InstanceKlass // and in all direct and indirect subclasses. @@ -437,18 +437,18 @@ bool merge_constant_pools(const constantPoolHandle& old_cp, const constantPoolHandle& scratch_cp, constantPoolHandle *merge_cp_p, int *merge_cp_length_p, TRAPS); - jvmtiError merge_cp_and_rewrite(instanceKlassHandle the_class, - instanceKlassHandle scratch_class, TRAPS); + jvmtiError merge_cp_and_rewrite(InstanceKlass* the_class, + InstanceKlass* scratch_class, TRAPS); u2 rewrite_cp_ref_in_annotation_data( AnnotationArray* annotations_typeArray, int &byte_i_ref, const char * trace_mesg, TRAPS); - bool rewrite_cp_refs(instanceKlassHandle scratch_class, TRAPS); + bool rewrite_cp_refs(InstanceKlass* scratch_class, TRAPS); bool rewrite_cp_refs_in_annotation_struct( AnnotationArray* class_annotations, int &byte_i_ref, TRAPS); bool rewrite_cp_refs_in_annotations_typeArray( AnnotationArray* annotations_typeArray, int &byte_i_ref, TRAPS); bool rewrite_cp_refs_in_class_annotations( - instanceKlassHandle scratch_class, TRAPS); + InstanceKlass* scratch_class, TRAPS); bool rewrite_cp_refs_in_element_value( AnnotationArray* class_annotations, int &byte_i_ref, TRAPS); bool rewrite_cp_refs_in_type_annotations_typeArray( @@ -463,31 +463,31 @@ bool skip_type_annotation_type_path( AnnotationArray* type_annotations_typeArray, int &byte_i_ref, TRAPS); bool rewrite_cp_refs_in_fields_annotations( - instanceKlassHandle scratch_class, TRAPS); + InstanceKlass* scratch_class, TRAPS); void rewrite_cp_refs_in_method(methodHandle method, methodHandle * new_method_p, TRAPS); - bool rewrite_cp_refs_in_methods(instanceKlassHandle scratch_class, TRAPS); + bool rewrite_cp_refs_in_methods(InstanceKlass* scratch_class, TRAPS); bool rewrite_cp_refs_in_methods_annotations( - instanceKlassHandle scratch_class, TRAPS); + InstanceKlass* scratch_class, TRAPS); bool rewrite_cp_refs_in_methods_default_annotations( - instanceKlassHandle scratch_class, TRAPS); + InstanceKlass* scratch_class, TRAPS); bool rewrite_cp_refs_in_methods_parameter_annotations( - instanceKlassHandle scratch_class, TRAPS); + InstanceKlass* scratch_class, TRAPS); bool rewrite_cp_refs_in_class_type_annotations( - instanceKlassHandle scratch_class, TRAPS); + InstanceKlass* scratch_class, TRAPS); bool rewrite_cp_refs_in_fields_type_annotations( - instanceKlassHandle scratch_class, TRAPS); + InstanceKlass* scratch_class, TRAPS); bool rewrite_cp_refs_in_methods_type_annotations( - instanceKlassHandle scratch_class, TRAPS); + InstanceKlass* scratch_class, TRAPS); void rewrite_cp_refs_in_stack_map_table(const methodHandle& method, TRAPS); void rewrite_cp_refs_in_verification_type_info( address& stackmap_addr_ref, address stackmap_end, u2 frame_i, u1 frame_size, TRAPS); void set_new_constant_pool(ClassLoaderData* loader_data, - instanceKlassHandle scratch_class, + InstanceKlass* scratch_class, constantPoolHandle scratch_cp, int scratch_cp_length, TRAPS); - void flush_dependent_code(instanceKlassHandle k_h, TRAPS); + void flush_dependent_code(InstanceKlass* ik, TRAPS); // lock classes to redefine since constant pool merging isn't thread safe. void lock_classes();