src/hotspot/share/opto/macroArrayCopy.cpp
changeset 58273 08a5148e7c4e
parent 58217 b1a394e15ae9
child 58679 9c3209ff7550
child 58931 304c63b17b07
equal deleted inserted replaced
58272:e27564cd10e3 58273:08a5148e7c4e
     1 /*
     1 /*
     2  * Copyright (c) 2012, 2016, Oracle and/or its affiliates. All rights reserved.
     2  * Copyright (c) 2012, 2019, Oracle and/or its affiliates. All rights reserved.
     3  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
     3  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
     4  *
     4  *
     5  * This code is free software; you can redistribute it and/or modify it
     5  * This code is free software; you can redistribute it and/or modify it
     6  * under the terms of the GNU General Public License version 2 only, as
     6  * under the terms of the GNU General Public License version 2 only, as
     7  * published by the Free Software Foundation.
     7  * published by the Free Software Foundation.
  1147     dest_elem = top_dest->klass()->as_array_klass()->element_type()->basic_type();
  1147     dest_elem = top_dest->klass()->as_array_klass()->element_type()->basic_type();
  1148   }
  1148   }
  1149   if (top_src != NULL && top_src->klass() != NULL) {
  1149   if (top_src != NULL && top_src->klass() != NULL) {
  1150     src_elem = top_src->klass()->as_array_klass()->element_type()->basic_type();
  1150     src_elem = top_src->klass()->as_array_klass()->element_type()->basic_type();
  1151   }
  1151   }
  1152   if (src_elem  == T_ARRAY)  src_elem  = T_OBJECT;
  1152   if (is_reference_type(src_elem))  src_elem  = T_OBJECT;
  1153   if (dest_elem == T_ARRAY)  dest_elem = T_OBJECT;
  1153   if (is_reference_type(dest_elem)) dest_elem = T_OBJECT;
  1154 
  1154 
  1155   if (ac->is_arraycopy_validated() &&
  1155   if (ac->is_arraycopy_validated() &&
  1156       dest_elem != T_CONFLICT &&
  1156       dest_elem != T_CONFLICT &&
  1157       src_elem == T_CONFLICT) {
  1157       src_elem == T_CONFLICT) {
  1158     src_elem = dest_elem;
  1158     src_elem = dest_elem;