src/share/vm/oops/klassVtable.hpp

changeset 4562
8d9fc28831cc
parent 4245
4735d2c84362
child 5726
69f26e8e09f9
     1.1 --- a/src/share/vm/oops/klassVtable.hpp	Tue Feb 05 00:59:40 2013 -0800
     1.2 +++ b/src/share/vm/oops/klassVtable.hpp	Wed Feb 06 14:31:37 2013 -0800
     1.3 @@ -1,5 +1,5 @@
     1.4  /*
     1.5 - * Copyright (c) 1997, 2012, Oracle and/or its affiliates. All rights reserved.
     1.6 + * Copyright (c) 1997, 2013, 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 @@ -90,6 +90,7 @@
    1.11        Array<Method*>* methods, AccessFlags class_flags, Handle classloader,
    1.12        Symbol* classname, Array<Klass*>* local_interfaces, TRAPS);
    1.13  
    1.14 +#if INCLUDE_JVMTI
    1.15    // RedefineClasses() API support:
    1.16    // If any entry of this vtable points to any of old_methods,
    1.17    // replace it with the corresponding new_method.
    1.18 @@ -98,17 +99,15 @@
    1.19    // group don't print the klass name.
    1.20    void adjust_method_entries(Method** old_methods, Method** new_methods,
    1.21                               int methods_length, bool * trace_name_printed);
    1.22 +  bool check_no_old_or_obsolete_entries();
    1.23 +  void dump_vtable();
    1.24 +#endif // INCLUDE_JVMTI
    1.25  
    1.26    // Debugging code
    1.27    void print()                                              PRODUCT_RETURN;
    1.28    void verify(outputStream* st, bool force = false);
    1.29    static void print_statistics()                            PRODUCT_RETURN;
    1.30  
    1.31 -#ifndef PRODUCT
    1.32 -  bool check_no_old_entries();
    1.33 -  void dump_vtable();
    1.34 -#endif
    1.35 -
    1.36   protected:
    1.37    friend class vtableEntry;
    1.38   private:
    1.39 @@ -275,6 +274,7 @@
    1.40    // Updates
    1.41    void initialize_with_method(Method* m);
    1.42  
    1.43 +#if INCLUDE_JVMTI
    1.44    // RedefineClasses() API support:
    1.45    // if any entry of this itable points to any of old_methods,
    1.46    // replace it with the corresponding new_method.
    1.47 @@ -283,6 +283,9 @@
    1.48    // group don't print the klass name.
    1.49    void adjust_method_entries(Method** old_methods, Method** new_methods,
    1.50                               int methods_length, bool * trace_name_printed);
    1.51 +  bool check_no_old_or_obsolete_entries();
    1.52 +  void dump_itable();
    1.53 +#endif // INCLUDE_JVMTI
    1.54  
    1.55    // Setup of itable
    1.56    static int compute_itable_size(Array<Klass*>* transitive_interfaces);
    1.57 @@ -307,11 +310,6 @@
    1.58    NOT_PRODUCT(static long _total_size;)      // Total no. of bytes used for itables
    1.59  
    1.60    static void update_stats(int size) PRODUCT_RETURN NOT_PRODUCT({ _total_classes++; _total_size += size; })
    1.61 -
    1.62 - public:
    1.63 -#ifndef PRODUCT
    1.64 -  bool check_no_old_entries();
    1.65 -#endif
    1.66  };
    1.67  
    1.68  #endif // SHARE_VM_OOPS_KLASSVTABLE_HPP

mercurial