src/share/vm/oops/klassVtable.hpp
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File 8141564 Sdiff src/share/vm/oops

src/share/vm/oops/klassVtable.hpp

Print this page




  98   // printed the klass name so that other routines in the adjust_*
  99   // group don't print the klass name.
 100   bool adjust_default_method(int vtable_index, Method* old_method, Method* new_method);
 101   void adjust_method_entries(InstanceKlass* holder, bool * trace_name_printed);
 102   bool check_no_old_or_obsolete_entries();
 103   void dump_vtable();
 104 #endif // INCLUDE_JVMTI
 105 
 106   // Debugging code
 107   void print()                                              PRODUCT_RETURN;
 108   void verify(outputStream* st, bool force = false);
 109   static void print_statistics()                            PRODUCT_RETURN;
 110 
 111  protected:
 112   friend class vtableEntry;
 113  private:
 114   enum { VTABLE_TRANSITIVE_OVERRIDE_VERSION = 51 } ;
 115   void copy_vtable_to(vtableEntry* start);
 116   int  initialize_from_super(KlassHandle super);
 117   int  index_of(Method* m, int len) const; // same as index_of, but search only up to len



 118   void put_method_at(Method* m, int index);
 119   static bool needs_new_vtable_entry(methodHandle m, Klass* super, Handle classloader, Symbol* classname, AccessFlags access_flags, TRAPS);
 120 
 121   bool update_inherited_vtable(InstanceKlass* klass, methodHandle target_method, int super_vtable_len, int default_index, bool checkconstraints, TRAPS);
 122  InstanceKlass* find_transitive_override(InstanceKlass* initialsuper, methodHandle target_method, int vtable_index,
 123                                          Handle target_loader, Symbol* target_classname, Thread* THREAD);
 124 
 125   // support for miranda methods
 126   bool is_miranda_entry_at(int i);
 127   int fill_in_mirandas(int initialized);
 128   static bool is_miranda(Method* m, Array<Method*>* class_methods,
 129                          Array<Method*>* default_methods, Klass* super);
 130   static void add_new_mirandas_to_lists(
 131       GrowableArray<Method*>* new_mirandas,
 132       GrowableArray<Method*>* all_mirandas,
 133       Array<Method*>* current_interface_methods,
 134       Array<Method*>* class_methods,
 135       Array<Method*>* default_methods,
 136       Klass* super);
 137   static void get_mirandas(




  98   // printed the klass name so that other routines in the adjust_*
  99   // group don't print the klass name.
 100   bool adjust_default_method(int vtable_index, Method* old_method, Method* new_method);
 101   void adjust_method_entries(InstanceKlass* holder, bool * trace_name_printed);
 102   bool check_no_old_or_obsolete_entries();
 103   void dump_vtable();
 104 #endif // INCLUDE_JVMTI
 105 
 106   // Debugging code
 107   void print()                                              PRODUCT_RETURN;
 108   void verify(outputStream* st, bool force = false);
 109   static void print_statistics()                            PRODUCT_RETURN;
 110 
 111  protected:
 112   friend class vtableEntry;
 113  private:
 114   enum { VTABLE_TRANSITIVE_OVERRIDE_VERSION = 51 } ;
 115   void copy_vtable_to(vtableEntry* start);
 116   int  initialize_from_super(KlassHandle super);
 117   int  index_of(Method* m, int len) const; // same as index_of, but search only up to len
 118   void log_vtables(int i, bool allocate_new, methodHandle target_method,
 119                   KlassHandle target_klass, Method* super_method,
 120                   Thread* thread) PRODUCT_RETURN;
 121   void put_method_at(Method* m, int index);
 122   static bool needs_new_vtable_entry(methodHandle m, Klass* super, Handle classloader, Symbol* classname, AccessFlags access_flags, TRAPS);
 123 
 124   bool update_inherited_vtable(InstanceKlass* klass, methodHandle target_method, int super_vtable_len, int default_index, bool checkconstraints, TRAPS);
 125  InstanceKlass* find_transitive_override(InstanceKlass* initialsuper, methodHandle target_method, int vtable_index,
 126                                          Handle target_loader, Symbol* target_classname, Thread* THREAD);
 127 
 128   // support for miranda methods
 129   bool is_miranda_entry_at(int i);
 130   int fill_in_mirandas(int initialized);
 131   static bool is_miranda(Method* m, Array<Method*>* class_methods,
 132                          Array<Method*>* default_methods, Klass* super);
 133   static void add_new_mirandas_to_lists(
 134       GrowableArray<Method*>* new_mirandas,
 135       GrowableArray<Method*>* all_mirandas,
 136       Array<Method*>* current_interface_methods,
 137       Array<Method*>* class_methods,
 138       Array<Method*>* default_methods,
 139       Klass* super);
 140   static void get_mirandas(


src/share/vm/oops/klassVtable.hpp
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File