< prev index next >
src/share/vm/classfile/classFileParser.hpp
Print this page
rev 13049 : imported patch 8181377_unsafe_u2
@@ -73,10 +73,13 @@
};
enum { LegalClass, LegalField, LegalMethod }; // used to verify unqualified names
private:
+ // Potentially unaligned pointer to various 16-bit entries in the class file
+ typedef void unsafe_u2;
+
const ClassFileStream* _stream; // Actual input stream
const Symbol* _requested_name;
Symbol* _class_name;
mutable ClassLoaderData* _loader_data;
const InstanceKlass* _host_klass;
@@ -240,29 +243,29 @@
AccessFlags* const promoted_flags,
bool* const has_final_method,
bool* const declares_nonstatic_concrete_methods,
TRAPS);
- const void* parse_exception_table(const ClassFileStream* const stream,
+ const unsafe_u2* parse_exception_table(const ClassFileStream* const stream,
u4 code_length,
u4 exception_table_length,
TRAPS);
void parse_linenumber_table(u4 code_attribute_length,
u4 code_length,
CompressedLineNumberWriteStream**const write_stream,
TRAPS);
- const void* parse_localvariable_table(const ClassFileStream* const cfs,
+ const unsafe_u2* parse_localvariable_table(const ClassFileStream* const cfs,
u4 code_length,
u2 max_locals,
u4 code_attribute_length,
u2* const localvariable_table_length,
bool isLVTT,
TRAPS);
- const void* parse_checked_exceptions(const ClassFileStream* const cfs,
+ const unsafe_u2* parse_checked_exceptions(const ClassFileStream* const cfs,
u2* const checked_exceptions_length,
u4 method_attribute_length,
TRAPS);
void parse_type_array(u2 array_length,
@@ -460,14 +463,14 @@
}
void copy_localvariable_table(const ConstMethod* cm,
int lvt_cnt,
u2* const localvariable_table_length,
- const void** const localvariable_table_start,
+ const unsafe_u2** const localvariable_table_start,
int lvtt_cnt,
u2* const localvariable_type_table_length,
- const void** const localvariable_type_table_start,
+ const unsafe_u2** const localvariable_type_table_start,
TRAPS);
void copy_method_annotations(ConstMethod* cm,
const u1* runtime_visible_annotations,
int runtime_visible_annotations_length,
< prev index next >