src/share/vm/classfile/classFileParser.cpp

changeset 5879
07b5f47d7a18
parent 5873
8f66130f7b5c
parent 5535
e22ee8e7ae62
child 5880
98a2169ed7ac
     1.1 --- a/src/share/vm/classfile/classFileParser.cpp	Fri Aug 23 22:12:18 2013 +0100
     1.2 +++ b/src/share/vm/classfile/classFileParser.cpp	Fri Aug 30 09:50:49 2013 +0100
     1.3 @@ -2590,7 +2590,7 @@
     1.4      valid_symbol_at(sourcefile_index),
     1.5      "Invalid SourceFile attribute at constant pool index %u in class file %s",
     1.6      sourcefile_index, CHECK);
     1.7 -  set_class_sourcefile(_cp->symbol_at(sourcefile_index));
     1.8 +  set_class_sourcefile_index(sourcefile_index);
     1.9  }
    1.10  
    1.11  
    1.12 @@ -2728,7 +2728,7 @@
    1.13      valid_symbol_at(signature_index),
    1.14      "Invalid constant pool index %u in Signature attribute in class file %s",
    1.15      signature_index, CHECK);
    1.16 -  set_class_generic_signature(_cp->symbol_at(signature_index));
    1.17 +  set_class_generic_signature_index(signature_index);
    1.18  }
    1.19  
    1.20  void ClassFileParser::parse_classfile_bootstrap_methods_attribute(u4 attribute_byte_length, TRAPS) {
    1.21 @@ -2975,13 +2975,11 @@
    1.22  void ClassFileParser::apply_parsed_class_attributes(instanceKlassHandle k) {
    1.23    if (_synthetic_flag)
    1.24      k->set_is_synthetic();
    1.25 -  if (_sourcefile != NULL) {
    1.26 -    _sourcefile->increment_refcount();
    1.27 -    k->set_source_file_name(_sourcefile);
    1.28 +  if (_sourcefile_index != 0) {
    1.29 +    k->set_source_file_name_index(_sourcefile_index);
    1.30    }
    1.31 -  if (_generic_signature != NULL) {
    1.32 -    _generic_signature->increment_refcount();
    1.33 -    k->set_generic_signature(_generic_signature);
    1.34 +  if (_generic_signature_index != 0) {
    1.35 +    k->set_generic_signature_index(_generic_signature_index);
    1.36    }
    1.37    if (_sde_buffer != NULL) {
    1.38      k->set_source_debug_extension(_sde_buffer, _sde_length);

mercurial