hotspot/src/share/vm/oops/arrayKlass.cpp
changeset 35900 d64cf9290fc4
parent 35899 0dbc821628fc
child 36384 b0b41336a9a8
equal deleted inserted replaced
35899:0dbc821628fc 35900:d64cf9290fc4
   115   return    k == SystemDictionary::Object_klass()
   115   return    k == SystemDictionary::Object_klass()
   116          || k == SystemDictionary::Cloneable_klass()
   116          || k == SystemDictionary::Cloneable_klass()
   117          || k == SystemDictionary::Serializable_klass();
   117          || k == SystemDictionary::Serializable_klass();
   118 }
   118 }
   119 
   119 
   120 
       
   121 inline intptr_t* ArrayKlass::start_of_vtable() const {
       
   122   // all vtables start at the same place, that's why we use InstanceKlass::header_size here
       
   123   return ((intptr_t*)this) + InstanceKlass::header_size();
       
   124 }
       
   125 
       
   126 
       
   127 klassVtable* ArrayKlass::vtable() const {
       
   128   KlassHandle kh(Thread::current(), this);
       
   129   return new klassVtable(kh, start_of_vtable(), vtable_length() / vtableEntry::size());
       
   130 }
       
   131 
       
   132 
       
   133 objArrayOop ArrayKlass::allocate_arrayArray(int n, int length, TRAPS) {
   120 objArrayOop ArrayKlass::allocate_arrayArray(int n, int length, TRAPS) {
   134   if (length < 0) {
   121   if (length < 0) {
   135     THROW_0(vmSymbols::java_lang_NegativeArraySizeException());
   122     THROW_0(vmSymbols::java_lang_NegativeArraySizeException());
   136   }
   123   }
   137   if (length > arrayOopDesc::max_array_length(T_ARRAY)) {
   124   if (length > arrayOopDesc::max_array_length(T_ARRAY)) {