classFileParser.hpp revision 4034
3490N/A * or visit www.oracle.com if you need additional information or have any
0N/A#include "classfile/classFileStream.hpp"
0N/A#include "memory/resourceArea.hpp"
0N/A#include "oops/oop.inline.hpp"
0N/A#include "oops/typeArrayOop.hpp"
0N/A#include "runtime/handles.inline.hpp"
0N/A#include "utilities/accessFlags.hpp"
0N/A#include "classfile/symbolTable.hpp"
0N/Aclass FieldAllocationCount;
0N/A bool _need_verify;
0N/A bool _relax_verify;
bool _has_finalizer;
bool _has_empty_finalizer;
bool _has_vanilla_constructor;
bool _synthetic_flag;
char* _sde_buffer;
int _sde_length;
void init_parsed_class_attributes() {
_synthetic_flag = false;
_sde_length = 0;
class AnnotationCollector {
enum ID {
_unknown = 0,
int _annotations_present;
int length,
TRAPS);
bool* is_synthetic_addr,
TRAPS);
TRAPS);
bool* has_final_method,
TRAPS);
TRAPS);
void parse_linenumber_table(
TRAPS);
TRAPS);
void parse_classfile_bootstrap_methods_attribute(constantPoolHandle cp, u4 attribute_length, TRAPS);
TRAPS);
unsigned int nonstatic_oop_count,
unsigned int nonstatic_oop_map_count,
int* nonstatic_oop_offsets,
unsigned int* nonstatic_oop_counts);
#ifdef ASSERT
if (_need_verify) {
if (_need_verify) {
void throwIllegalSignature(
void verify_constantvalue(int constantvalue_index, int signature_index, constantPoolHandle cp, TRAPS);
bool is_anonymous() {
return patch;
return (EnableInvokeDynamic
bool verify,
TRAPS) {
return parseClassFile(name, class_loader, protection_domain, no_host_klass, NULL, parsed_name, verify, THREAD);
bool verify,
TRAPS);