equal
deleted
inserted
replaced
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"); |