src/share/vm/classfile/classFileParser.hpp

changeset 3137
e6b1331a51d2
parent 2698
38fea01eb669
child 3373
cd5d8cafcc84
     1.1 --- a/src/share/vm/classfile/classFileParser.hpp	Sat Sep 10 00:11:04 2011 -0700
     1.2 +++ b/src/share/vm/classfile/classFileParser.hpp	Sat Sep 10 17:29:02 2011 -0700
     1.3 @@ -33,6 +33,9 @@
     1.4  #include "utilities/accessFlags.hpp"
     1.5  
     1.6  class TempNewSymbol;
     1.7 +class FieldAllocationCount;
     1.8 +
     1.9 +
    1.10  // Parser for for .class files
    1.11  //
    1.12  // The bytes describing the class file structure is read from a Stream object
    1.13 @@ -84,9 +87,11 @@
    1.14                                bool* is_synthetic_addr,
    1.15                                u2* generic_signature_index_addr,
    1.16                                typeArrayHandle* field_annotations, TRAPS);
    1.17 -  typeArrayHandle parse_fields(constantPoolHandle cp, bool is_interface,
    1.18 -                               struct FieldAllocationCount *fac,
    1.19 -                               objArrayHandle* fields_annotations, TRAPS);
    1.20 +  typeArrayHandle parse_fields(Symbol* class_name,
    1.21 +                               constantPoolHandle cp, bool is_interface,
    1.22 +                               FieldAllocationCount *fac,
    1.23 +                               objArrayHandle* fields_annotations,
    1.24 +                               int* java_fields_count_ptr, TRAPS);
    1.25  
    1.26    // Method parsing
    1.27    methodHandle parse_method(constantPoolHandle cp, bool is_interface,
    1.28 @@ -150,25 +155,6 @@
    1.29    objArrayHandle compute_transitive_interfaces(instanceKlassHandle super,
    1.30                                                 objArrayHandle local_ifs, TRAPS);
    1.31  
    1.32 -  // Special handling for certain classes.
    1.33 -  // Add the "discovered" field to java.lang.ref.Reference if
    1.34 -  // it does not exist.
    1.35 -  void java_lang_ref_Reference_fix_pre(typeArrayHandle* fields_ptr,
    1.36 -                                       constantPoolHandle cp,
    1.37 -                                       FieldAllocationCount *fac_ptr, TRAPS);
    1.38 -  // Adjust the field allocation counts for java.lang.Class to add
    1.39 -  // fake fields.
    1.40 -  void java_lang_Class_fix_pre(int* nonstatic_field_size,
    1.41 -                               FieldAllocationCount *fac_ptr);
    1.42 -  // Adjust the next_nonstatic_oop_offset to place the fake fields
    1.43 -  // before any Java fields.
    1.44 -  void java_lang_Class_fix_post(int* next_nonstatic_oop_offset);
    1.45 -  // Adjust the field allocation counts for java.lang.invoke.MethodHandle to add
    1.46 -  // a fake address (void*) field.
    1.47 -  void java_lang_invoke_MethodHandle_fix_pre(constantPoolHandle cp,
    1.48 -                                     typeArrayHandle fields,
    1.49 -                                     FieldAllocationCount *fac_ptr, TRAPS);
    1.50 -
    1.51    // Format checker methods
    1.52    void classfile_parse_error(const char* msg, TRAPS);
    1.53    void classfile_parse_error(const char* msg, int index, TRAPS);

mercurial