comparison src/share/vm/classfile/classFileParser.cpp @ 1142:4ce7240d622c

6914300: ciEnv should export all well known classes Reviewed-by: kvn, twisti
author never
date Wed, 06 Jan 2010 14:22:39 -0800
parents dd57230ba8fe
children 9b9c1ee9b3f6
comparison
equal deleted inserted replaced
1140:1f6d42899c3a 1142:4ce7240d622c
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;