src/share/vm/prims/jvmtiClassFileReconstituter.cpp

changeset 2497
3582bf76420e
parent 2314
f95d63e2154a
child 2508
b92c45f2bc75
     1.1 --- a/src/share/vm/prims/jvmtiClassFileReconstituter.cpp	Thu Jan 27 13:42:28 2011 -0800
     1.2 +++ b/src/share/vm/prims/jvmtiClassFileReconstituter.cpp	Thu Jan 27 16:11:27 2011 -0800
     1.3 @@ -461,11 +461,11 @@
     1.4  // JVMSpec|     attribute_info attributes[attributes_count];
     1.5  void JvmtiClassFileReconstituter::write_class_attributes() {
     1.6    u2 inner_classes_length = inner_classes_attribute_length();
     1.7 -  symbolHandle generic_signature(thread(), ikh()->generic_signature());
     1.8 +  Symbol* generic_signature = ikh()->generic_signature();
     1.9    typeArrayHandle anno(thread(), ikh()->class_annotations());
    1.10  
    1.11    int attr_count = 0;
    1.12 -  if (generic_signature() != NULL) {
    1.13 +  if (generic_signature != NULL) {
    1.14      ++attr_count;
    1.15    }
    1.16    if (ikh()->source_file_name() != NULL) {
    1.17 @@ -483,8 +483,8 @@
    1.18  
    1.19    write_u2(attr_count);
    1.20  
    1.21 -  if (generic_signature() != NULL) {
    1.22 -    write_signature_attribute(symbol_to_cpool_index(generic_signature()));
    1.23 +  if (generic_signature != NULL) {
    1.24 +    write_signature_attribute(symbol_to_cpool_index(generic_signature));
    1.25    }
    1.26    if (ikh()->source_file_name() != NULL) {
    1.27      write_source_file_attribute();
    1.28 @@ -609,8 +609,7 @@
    1.29  }
    1.30  
    1.31  void JvmtiClassFileReconstituter::write_attribute_name_index(const char* name) {
    1.32 -  unsigned int hash_ignored;
    1.33 -  symbolOop sym = SymbolTable::lookup_only(name, (int)strlen(name), hash_ignored);
    1.34 +  TempNewSymbol sym = SymbolTable::probe(name, (int)strlen(name));
    1.35    assert(sym != NULL, "attribute name symbol not found");
    1.36    u2 attr_name_index = symbol_to_cpool_index(sym);
    1.37    assert(attr_name_index != 0, "attribute name symbol not in constant pool");

mercurial