Mercurial > hg > truffle
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, |