comparison src/share/vm/classfile/classFileParser.hpp @ 2011:dad31fc330cd

7001379: bootstrap method data needs to be moved from constant pool to a classfile attribute Reviewed-by: twisti
author jrose
date Fri, 03 Dec 2010 15:53:57 -0800
parents f95d63e2154a
children 3582bf76420e
comparison
equal deleted inserted replaced
2010:7601ab0e1e33 2011:dad31fc330cd
48 48
49 bool _has_finalizer; 49 bool _has_finalizer;
50 bool _has_empty_finalizer; 50 bool _has_empty_finalizer;
51 bool _has_vanilla_constructor; 51 bool _has_vanilla_constructor;
52 52
53 int _max_bootstrap_specifier_index;
54
53 enum { fixed_buffer_size = 128 }; 55 enum { fixed_buffer_size = 128 };
54 u_char linenumbertable_buffer[fixed_buffer_size]; 56 u_char linenumbertable_buffer[fixed_buffer_size];
55 57
56 ClassFileStream* _stream; // Actual input stream 58 ClassFileStream* _stream; // Actual input stream
57 59
63 65
64 // Constant pool parsing 66 // Constant pool parsing
65 void parse_constant_pool_entries(constantPoolHandle cp, int length, TRAPS); 67 void parse_constant_pool_entries(constantPoolHandle cp, int length, TRAPS);
66 68
67 constantPoolHandle parse_constant_pool(TRAPS); 69 constantPoolHandle parse_constant_pool(TRAPS);
68
69 static int start_operand_group(GrowableArray<int>* &operands, int op_count, TRAPS);
70 static void store_operand_array(GrowableArray<int>* operands, constantPoolHandle cp, TRAPS);
71 70
72 // Interface parsing 71 // Interface parsing
73 objArrayHandle parse_interfaces(constantPoolHandle cp, 72 objArrayHandle parse_interfaces(constantPoolHandle cp,
74 int length, 73 int length,
75 Handle class_loader, 74 Handle class_loader,
128 u2 parse_classfile_inner_classes_attribute(constantPoolHandle cp, 127 u2 parse_classfile_inner_classes_attribute(constantPoolHandle cp,
129 instanceKlassHandle k, TRAPS); 128 instanceKlassHandle k, TRAPS);
130 void parse_classfile_attributes(constantPoolHandle cp, instanceKlassHandle k, TRAPS); 129 void parse_classfile_attributes(constantPoolHandle cp, instanceKlassHandle k, TRAPS);
131 void parse_classfile_synthetic_attribute(constantPoolHandle cp, instanceKlassHandle k, TRAPS); 130 void parse_classfile_synthetic_attribute(constantPoolHandle cp, instanceKlassHandle k, TRAPS);
132 void parse_classfile_signature_attribute(constantPoolHandle cp, instanceKlassHandle k, TRAPS); 131 void parse_classfile_signature_attribute(constantPoolHandle cp, instanceKlassHandle k, TRAPS);
132 void parse_classfile_bootstrap_methods_attribute(constantPoolHandle cp, instanceKlassHandle k, u4 attribute_length, TRAPS);
133 133
134 // Annotations handling 134 // Annotations handling
135 typeArrayHandle assemble_annotations(u1* runtime_visible_annotations, 135 typeArrayHandle assemble_annotations(u1* runtime_visible_annotations,
136 int runtime_visible_annotations_length, 136 int runtime_visible_annotations_length,
137 u1* runtime_invisible_annotations, 137 u1* runtime_invisible_annotations,