src/share/vm/classfile/classFileParser.cpp

changeset 1579
9b9c1ee9b3f6
parent 1564
a5a6adfca6ec
parent 1577
4ce7240d622c
child 1801
b9d85fcdf743
     1.1 --- a/src/share/vm/classfile/classFileParser.cpp	Wed Dec 23 03:12:16 2009 -0800
     1.2 +++ b/src/share/vm/classfile/classFileParser.cpp	Wed Jan 06 22:21:39 2010 -0800
     1.3 @@ -430,7 +430,7 @@
     1.4    case JVM_CONSTANT_UnresolvedClass :
     1.5      // Patching a class means pre-resolving it.
     1.6      // The name in the constant pool is ignored.
     1.7 -    if (patch->klass() == SystemDictionary::class_klass()) { // %%% java_lang_Class::is_instance
     1.8 +    if (patch->klass() == SystemDictionary::Class_klass()) { // %%% java_lang_Class::is_instance
     1.9        guarantee_property(!java_lang_Class::is_primitive(patch()),
    1.10                           "Illegal class patch at %d in class file %s",
    1.11                           index, CHECK);
    1.12 @@ -643,7 +643,7 @@
    1.13        guarantee_property(value_type.is_int(), "Inconsistent constant value type in class file %s", CHECK);
    1.14        break;
    1.15      case T_OBJECT:
    1.16 -      guarantee_property((cp->symbol_at(signature_index)->equals("Ljava/lang/String;", 18)
    1.17 +      guarantee_property((cp->symbol_at(signature_index)->equals("Ljava/lang/String;")
    1.18                           && (value_type.is_string() || value_type.is_unresolved_string())),
    1.19                           "Bad string initial value in class file %s", CHECK);
    1.20        break;
    1.21 @@ -1718,9 +1718,7 @@
    1.22    m->set_exception_table(exception_handlers());
    1.23  
    1.24    // Copy byte codes
    1.25 -  if (code_length > 0) {
    1.26 -    memcpy(m->code_base(), code_start, code_length);
    1.27 -  }
    1.28 +  m->set_code(code_start);
    1.29  
    1.30    // Copy line number table
    1.31    if (linenumber_table != NULL) {
    1.32 @@ -3471,8 +3469,8 @@
    1.33  #endif
    1.34  
    1.35    // Check if this klass supports the java.lang.Cloneable interface
    1.36 -  if (SystemDictionary::cloneable_klass_loaded()) {
    1.37 -    if (k->is_subtype_of(SystemDictionary::cloneable_klass())) {
    1.38 +  if (SystemDictionary::Cloneable_klass_loaded()) {
    1.39 +    if (k->is_subtype_of(SystemDictionary::Cloneable_klass())) {
    1.40        k->set_is_cloneable();
    1.41      }
    1.42    }
    1.43 @@ -4178,7 +4176,7 @@
    1.44        // Check if ch is Java identifier start or is Java identifier part
    1.45        // 4672820: call java.lang.Character methods directly without generating separate tables.
    1.46        EXCEPTION_MARK;
    1.47 -      instanceKlassHandle klass (THREAD, SystemDictionary::char_klass());
    1.48 +      instanceKlassHandle klass (THREAD, SystemDictionary::Character_klass());
    1.49  
    1.50        // return value
    1.51        JavaValue result(T_BOOLEAN);

mercurial