src/hotspot/share/opto/library_call.cpp
changeset 51984 2ef304ee001d
parent 51880 ec4c3c287ca7
child 52220 9c260a6b6471
equal deleted inserted replaced
51983:2a12a3865916 51984:2ef304ee001d
  4328       Node* obj_length = load_array_length(obj);
  4328       Node* obj_length = load_array_length(obj);
  4329       Node* obj_size  = NULL;
  4329       Node* obj_size  = NULL;
  4330       Node* alloc_obj = new_array(obj_klass, obj_length, 0, &obj_size);  // no arguments to push
  4330       Node* alloc_obj = new_array(obj_klass, obj_length, 0, &obj_size);  // no arguments to push
  4331 
  4331 
  4332       BarrierSetC2* bs = BarrierSet::barrier_set()->barrier_set_c2();
  4332       BarrierSetC2* bs = BarrierSet::barrier_set()->barrier_set_c2();
  4333       if (bs->array_copy_requires_gc_barriers(T_OBJECT)) {
  4333       if (bs->array_copy_requires_gc_barriers(true, T_OBJECT, true, BarrierSetC2::Parsing)) {
  4334         // If it is an oop array, it requires very special treatment,
  4334         // If it is an oop array, it requires very special treatment,
  4335         // because gc barriers are required when accessing the array.
  4335         // because gc barriers are required when accessing the array.
  4336         Node* is_obja = generate_objArray_guard(obj_klass, (RegionNode*)NULL);
  4336         Node* is_obja = generate_objArray_guard(obj_klass, (RegionNode*)NULL);
  4337         if (is_obja != NULL) {
  4337         if (is_obja != NULL) {
  4338           PreserveJVMState pjvms2(this);
  4338           PreserveJVMState pjvms2(this);