comparison src/share/vm/oops/instanceKlass.hpp @ 6203:04ade88d9712

6294277: java -Xdebug crashes on SourceDebugExtension attribute larger than 64K Reviewed-by: sspitsyn, dholmes, coleenp, kamg
author fparain
date Mon, 09 Jul 2012 01:28:37 -0700
parents d2a62e0f25eb
children 957c266d8bc5 da91efe96a93
comparison
equal deleted inserted replaced
6202:5a1f452f8f90 6203:04ade88d9712
224 // 224 //
225 225
226 // Name of source file containing this klass, NULL if not specified. 226 // Name of source file containing this klass, NULL if not specified.
227 Symbol* _source_file_name; 227 Symbol* _source_file_name;
228 // the source debug extension for this klass, NULL if not specified. 228 // the source debug extension for this klass, NULL if not specified.
229 Symbol* _source_debug_extension; 229 // Specified as UTF-8 string without terminating zero byte in the classfile,
230 // it is stored in the instanceklass as a NULL-terminated UTF-8 string
231 char* _source_debug_extension;
230 // Generic signature, or null if none. 232 // Generic signature, or null if none.
231 Symbol* _generic_signature; 233 Symbol* _generic_signature;
232 // Array name derived from this class which needs unreferencing 234 // Array name derived from this class which needs unreferencing
233 // if this class is unloaded. 235 // if this class is unloaded.
234 Symbol* _array_name; 236 Symbol* _array_name;
540 void set_minor_version(u2 minor_version) { _minor_version = minor_version; } 542 void set_minor_version(u2 minor_version) { _minor_version = minor_version; }
541 u2 major_version() const { return _major_version; } 543 u2 major_version() const { return _major_version; }
542 void set_major_version(u2 major_version) { _major_version = major_version; } 544 void set_major_version(u2 major_version) { _major_version = major_version; }
543 545
544 // source debug extension 546 // source debug extension
545 Symbol* source_debug_extension() const { return _source_debug_extension; } 547 char* source_debug_extension() const { return _source_debug_extension; }
546 void set_source_debug_extension(Symbol* n); 548 void set_source_debug_extension(char* array, int length);
547 549
548 // symbol unloading support (refcount already added) 550 // symbol unloading support (refcount already added)
549 Symbol* array_name() { return _array_name; } 551 Symbol* array_name() { return _array_name; }
550 void set_array_name(Symbol* name) { assert(_array_name == NULL, "name already created"); _array_name = name; } 552 void set_array_name(Symbol* name) { assert(_array_name == NULL, "name already created"); _array_name = name; }
551 553