< prev index next >

src/hotspot/share/memory/oopFactory.hpp

Print this page




  50   static typeArrayOop    new_intArray   (int length, TRAPS) { return TypeArrayKlass::cast(Universe::intArrayKlassObj   ())->allocate(length, THREAD); }
  51   static typeArrayOop    new_longArray  (int length, TRAPS) { return TypeArrayKlass::cast(Universe::longArrayKlassObj  ())->allocate(length, THREAD); }
  52 
  53   // create java.lang.Object[]
  54   static objArrayOop     new_objectArray(int length, TRAPS)  {
  55     assert(Universe::objectArrayKlassObj() != NULL, "Too early?");
  56     return ObjArrayKlass::
  57       cast(Universe::objectArrayKlassObj())->allocate(length, THREAD);
  58   }
  59 
  60   static typeArrayOop    new_charArray           (const char* utf8_str,  TRAPS);
  61   static typeArrayOop    new_tenured_charArray(int length, TRAPS);
  62 
  63   static typeArrayOop    new_typeArray(BasicType type, int length, TRAPS);
  64   static typeArrayOop    new_typeArray_nozero(BasicType type, int length, TRAPS);
  65   static typeArrayOop    new_symbolArray(int length, TRAPS);
  66 
  67   // Regular object arrays
  68   static objArrayOop     new_objArray(Klass* klass, int length, TRAPS);
  69 
  70   // Value arrays






  71   static arrayOop        new_valueArray(Klass* klass, int length, TRAPS);
  72 
  73   // Object/Value array for klass
  74   static arrayOop        new_array(Klass* klass, int length, TRAPS);
  75 
  76   // Helpers that return handles
  77   static objArrayHandle  new_objArray_handle(Klass* klass, int length, TRAPS);
  78   static typeArrayHandle new_byteArray_handle(int length, TRAPS);
  79 };
  80 
  81 #endif // SHARE_MEMORY_OOPFACTORY_HPP


  50   static typeArrayOop    new_intArray   (int length, TRAPS) { return TypeArrayKlass::cast(Universe::intArrayKlassObj   ())->allocate(length, THREAD); }
  51   static typeArrayOop    new_longArray  (int length, TRAPS) { return TypeArrayKlass::cast(Universe::longArrayKlassObj  ())->allocate(length, THREAD); }
  52 
  53   // create java.lang.Object[]
  54   static objArrayOop     new_objectArray(int length, TRAPS)  {
  55     assert(Universe::objectArrayKlassObj() != NULL, "Too early?");
  56     return ObjArrayKlass::
  57       cast(Universe::objectArrayKlassObj())->allocate(length, THREAD);
  58   }
  59 
  60   static typeArrayOop    new_charArray           (const char* utf8_str,  TRAPS);
  61   static typeArrayOop    new_tenured_charArray(int length, TRAPS);
  62 
  63   static typeArrayOop    new_typeArray(BasicType type, int length, TRAPS);
  64   static typeArrayOop    new_typeArray_nozero(BasicType type, int length, TRAPS);
  65   static typeArrayOop    new_symbolArray(int length, TRAPS);
  66 
  67   // Regular object arrays
  68   static objArrayOop     new_objArray(Klass* klass, int length, TRAPS);
  69 
  70   // Value arrays...
  71   // LWorld:
  72   //    - Q-type signature allocation should use this path.
  73   //    - L-type signature allocation should use new_objArray (even with value type elements)
  74   //
  75   // Method specifically creates ArrayStorageProperties::null_free and possibly flattened if possible
  76   // i.e. valueArrayOop of flattening can be done, else objArrayOop with "null free" storage properties
  77   static arrayOop        new_valueArray(Klass* klass, int length, TRAPS);



  78 
  79   // Helpers that return handles
  80   static objArrayHandle  new_objArray_handle(Klass* klass, int length, TRAPS);
  81   static typeArrayHandle new_byteArray_handle(int length, TRAPS);
  82 };
  83 
  84 #endif // SHARE_MEMORY_OOPFACTORY_HPP
< prev index next >