src/hotspot/share/classfile/javaClasses.cpp
changeset 53143 6b7240a24b56
parent 52781 436097b038a1
child 53205 8f79bae1a535
equal deleted inserted replaced
53142:5c0ec35d0533 53143:6b7240a24b56
  1457 
  1457 
  1458 
  1458 
  1459 void java_lang_Class::release_set_array_klass(oop java_class, Klass* klass) {
  1459 void java_lang_Class::release_set_array_klass(oop java_class, Klass* klass) {
  1460   assert(klass->is_klass() && klass->is_array_klass(), "should be array klass");
  1460   assert(klass->is_klass() && klass->is_array_klass(), "should be array klass");
  1461   java_class->release_metadata_field_put(_array_klass_offset, klass);
  1461   java_class->release_metadata_field_put(_array_klass_offset, klass);
  1462 }
       
  1463 
       
  1464 
       
  1465 bool java_lang_Class::is_primitive(oop java_class) {
       
  1466   // should assert:
       
  1467   //assert(java_lang_Class::is_instance(java_class), "must be a Class object");
       
  1468   bool is_primitive = (java_class->metadata_field(_klass_offset) == NULL);
       
  1469 
       
  1470 #ifdef ASSERT
       
  1471   if (is_primitive) {
       
  1472     Klass* k = ((Klass*)java_class->metadata_field(_array_klass_offset));
       
  1473     assert(k == NULL || is_java_primitive(ArrayKlass::cast(k)->element_type()),
       
  1474         "Should be either the T_VOID primitive or a java primitive");
       
  1475   }
       
  1476 #endif
       
  1477 
       
  1478   return is_primitive;
       
  1479 }
  1462 }
  1480 
  1463 
  1481 
  1464 
  1482 BasicType java_lang_Class::primitive_type(oop java_class) {
  1465 BasicType java_lang_Class::primitive_type(oop java_class) {
  1483   assert(java_lang_Class::is_primitive(java_class), "just checking");
  1466   assert(java_lang_Class::is_primitive(java_class), "just checking");