< prev index next >

src/hotspot/share/memory/oopFactory.cpp

Print this page
rev 52749 : Bootstrap method consolidation
* clean up and simplify JDK support code for BSM invocation
* simplify JVM bootstrap handshake: use BootstrapCallInfo only
* remove unused JVM paths and data fields
* move bootstrap argument processing from MethodHandleNatives to ConstantPool
* remove ConstantGroup; merge argument access into BootstrapCallInfo
* adjust BSM argument access: remove copyArguments, add argumentRef API
* add metadata-free BSM modes, including symbolic arguments from CP


  80 
  81 
  82 objArrayOop oopFactory::new_objArray(Klass* klass, int length, TRAPS) {
  83   assert(klass->is_klass(), "must be instance class");
  84   if (klass->is_array_klass()) {
  85     return ArrayKlass::cast(klass)->allocate_arrayArray(1, length, THREAD);
  86   } else {
  87     return InstanceKlass::cast(klass)->allocate_objArray(1, length, THREAD);
  88   }
  89 }
  90 
  91 objArrayHandle oopFactory::new_objArray_handle(Klass* klass, int length, TRAPS) {
  92   objArrayOop obj = new_objArray(klass, length, CHECK_(objArrayHandle()));
  93   return objArrayHandle(THREAD, obj);
  94 }
  95 
  96 typeArrayHandle oopFactory::new_byteArray_handle(int length, TRAPS) {
  97   typeArrayOop obj = new_byteArray(length, CHECK_(typeArrayHandle()));
  98   return typeArrayHandle(THREAD, obj);
  99 }












  80 
  81 
  82 objArrayOop oopFactory::new_objArray(Klass* klass, int length, TRAPS) {
  83   assert(klass->is_klass(), "must be instance class");
  84   if (klass->is_array_klass()) {
  85     return ArrayKlass::cast(klass)->allocate_arrayArray(1, length, THREAD);
  86   } else {
  87     return InstanceKlass::cast(klass)->allocate_objArray(1, length, THREAD);
  88   }
  89 }
  90 
  91 objArrayHandle oopFactory::new_objArray_handle(Klass* klass, int length, TRAPS) {
  92   objArrayOop obj = new_objArray(klass, length, CHECK_(objArrayHandle()));
  93   return objArrayHandle(THREAD, obj);
  94 }
  95 
  96 typeArrayHandle oopFactory::new_byteArray_handle(int length, TRAPS) {
  97   typeArrayOop obj = new_byteArray(length, CHECK_(typeArrayHandle()));
  98   return typeArrayHandle(THREAD, obj);
  99 }
 100 
 101 typeArrayHandle oopFactory::new_intArray_handle(int length, TRAPS) {
 102   typeArrayOop obj = new_intArray(length, CHECK_(typeArrayHandle()));
 103   return typeArrayHandle(THREAD, obj);
 104 }
 105 
 106 typeArrayHandle oopFactory::new_typeArray_handle(BasicType type, int length, TRAPS) {
 107   typeArrayOop obj = new_typeArray(type, length, CHECK_(typeArrayHandle()));
 108   return typeArrayHandle(THREAD, obj);
 109 }
< prev index next >