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);