equal
deleted
inserted
replaced
428 switch (cp->tag_at(index).value()) { |
428 switch (cp->tag_at(index).value()) { |
429 |
429 |
430 case JVM_CONSTANT_UnresolvedClass : |
430 case JVM_CONSTANT_UnresolvedClass : |
431 // Patching a class means pre-resolving it. |
431 // Patching a class means pre-resolving it. |
432 // The name in the constant pool is ignored. |
432 // The name in the constant pool is ignored. |
433 if (patch->klass() == SystemDictionary::class_klass()) { // %%% java_lang_Class::is_instance |
433 if (patch->klass() == SystemDictionary::Class_klass()) { // %%% java_lang_Class::is_instance |
434 guarantee_property(!java_lang_Class::is_primitive(patch()), |
434 guarantee_property(!java_lang_Class::is_primitive(patch()), |
435 "Illegal class patch at %d in class file %s", |
435 "Illegal class patch at %d in class file %s", |
436 index, CHECK); |
436 index, CHECK); |
437 cp->klass_at_put(index, java_lang_Class::as_klassOop(patch())); |
437 cp->klass_at_put(index, java_lang_Class::as_klassOop(patch())); |
438 } else { |
438 } else { |
3467 } |
3467 } |
3468 assert(f == k->has_finalizer(), "inconsistent has_finalizer"); |
3468 assert(f == k->has_finalizer(), "inconsistent has_finalizer"); |
3469 #endif |
3469 #endif |
3470 |
3470 |
3471 // Check if this klass supports the java.lang.Cloneable interface |
3471 // Check if this klass supports the java.lang.Cloneable interface |
3472 if (SystemDictionary::cloneable_klass_loaded()) { |
3472 if (SystemDictionary::Cloneable_klass_loaded()) { |
3473 if (k->is_subtype_of(SystemDictionary::cloneable_klass())) { |
3473 if (k->is_subtype_of(SystemDictionary::Cloneable_klass())) { |
3474 k->set_is_cloneable(); |
3474 k->set_is_cloneable(); |
3475 } |
3475 } |
3476 } |
3476 } |
3477 |
3477 |
3478 // Check if this klass has a vanilla default constructor |
3478 // Check if this klass has a vanilla default constructor |
4173 p = tmp_p; |
4173 p = tmp_p; |
4174 last_is_slash = false; |
4174 last_is_slash = false; |
4175 // Check if ch is Java identifier start or is Java identifier part |
4175 // Check if ch is Java identifier start or is Java identifier part |
4176 // 4672820: call java.lang.Character methods directly without generating separate tables. |
4176 // 4672820: call java.lang.Character methods directly without generating separate tables. |
4177 EXCEPTION_MARK; |
4177 EXCEPTION_MARK; |
4178 instanceKlassHandle klass (THREAD, SystemDictionary::char_klass()); |
4178 instanceKlassHandle klass (THREAD, SystemDictionary::Character_klass()); |
4179 |
4179 |
4180 // return value |
4180 // return value |
4181 JavaValue result(T_BOOLEAN); |
4181 JavaValue result(T_BOOLEAN); |
4182 // Set up the arguments to isJavaIdentifierStart and isJavaIdentifierPart |
4182 // Set up the arguments to isJavaIdentifierStart and isJavaIdentifierPart |
4183 JavaCallArguments args; |
4183 JavaCallArguments args; |