src/share/vm/oops/method.hpp

changeset 4572
927a311d00f9
parent 4566
461a3adac4d1
child 4609
56c364daccc3
     1.1 --- a/src/share/vm/oops/method.hpp	Fri Feb 08 16:56:03 2013 -0800
     1.2 +++ b/src/share/vm/oops/method.hpp	Mon Feb 11 14:06:22 2013 -0500
     1.3 @@ -101,6 +101,7 @@
     1.4  class AdapterHandlerEntry;
     1.5  class MethodData;
     1.6  class ConstMethod;
     1.7 +class InlineTableSizes;
     1.8  class KlassSizeStats;
     1.9  
    1.10  class Method : public Metadata {
    1.11 @@ -157,12 +158,7 @@
    1.12    static Method* allocate(ClassLoaderData* loader_data,
    1.13                            int byte_code_size,
    1.14                            AccessFlags access_flags,
    1.15 -                          int compressed_line_number_size,
    1.16 -                          int localvariable_table_length,
    1.17 -                          int exception_table_length,
    1.18 -                          int checked_exceptions_length,
    1.19 -                          int method_parameters_length,
    1.20 -                          u2 generic_signature_index,
    1.21 +                          InlineTableSizes* sizes,
    1.22                            ConstMethod::MethodType method_type,
    1.23                            TRAPS);
    1.24  
    1.25 @@ -207,33 +203,17 @@
    1.26  
    1.27    // annotations support
    1.28    AnnotationArray* annotations() const           {
    1.29 -    InstanceKlass* ik = method_holder();
    1.30 -    if (ik->annotations() == NULL) {
    1.31 -      return NULL;
    1.32 -    }
    1.33 -    return ik->annotations()->get_method_annotations_of(method_idnum());
    1.34 +    return constMethod()->method_annotations();
    1.35    }
    1.36    AnnotationArray* parameter_annotations() const {
    1.37 -    InstanceKlass* ik = method_holder();
    1.38 -    if (ik->annotations() == NULL) {
    1.39 -      return NULL;
    1.40 -    }
    1.41 -    return ik->annotations()->get_method_parameter_annotations_of(method_idnum());
    1.42 +    return constMethod()->parameter_annotations();
    1.43    }
    1.44    AnnotationArray* annotation_default() const    {
    1.45 -    InstanceKlass* ik = method_holder();
    1.46 -    if (ik->annotations() == NULL) {
    1.47 -      return NULL;
    1.48 -    }
    1.49 -    return ik->annotations()->get_method_default_annotations_of(method_idnum());
    1.50 +    return constMethod()->default_annotations();
    1.51    }
    1.52 -  AnnotationArray* type_annotations() const {
    1.53 -  InstanceKlass* ik = method_holder();
    1.54 -  Annotations* type_annos = ik->type_annotations();
    1.55 -  if (type_annos == NULL)
    1.56 -    return NULL;
    1.57 -  return type_annos->get_method_annotations_of(method_idnum());
    1.58 -}
    1.59 +  AnnotationArray* type_annotations() const      {
    1.60 +    return constMethod()->type_annotations();
    1.61 +  }
    1.62  
    1.63  #ifdef CC_INTERP
    1.64    void set_result_index(BasicType type);
    1.65 @@ -439,13 +419,6 @@
    1.66    address interpreter_entry() const              { return _i2i_entry; }
    1.67    // Only used when first initialize so we can set _i2i_entry and _from_interpreted_entry
    1.68    void set_interpreter_entry(address entry)      { _i2i_entry = entry;  _from_interpreted_entry = entry; }
    1.69 -  int  interpreter_kind(void) {
    1.70 -     return constMethod()->interpreter_kind();
    1.71 -  }
    1.72 -  void set_interpreter_kind();
    1.73 -  void set_interpreter_kind(int kind) {
    1.74 -    constMethod()->set_interpreter_kind(kind);
    1.75 -  }
    1.76  
    1.77    // native function (used for native methods only)
    1.78    enum {
    1.79 @@ -808,12 +781,7 @@
    1.80  #endif
    1.81  
    1.82    // Helper routine used for method sorting
    1.83 -  static void sort_methods(Array<Method*>* methods,
    1.84 -                           Array<AnnotationArray*>* methods_annotations,
    1.85 -                           Array<AnnotationArray*>* methods_parameter_annotations,
    1.86 -                           Array<AnnotationArray*>* methods_default_annotations,
    1.87 -                           Array<AnnotationArray*>* methods_type_annotations,
    1.88 -                           bool idempotent = false);
    1.89 +  static void sort_methods(Array<Method*>* methods, bool idempotent = false);
    1.90  
    1.91    // Deallocation function for redefine classes or if an error occurs
    1.92    void deallocate_contents(ClassLoaderData* loader_data);

mercurial