< prev index next >

src/hotspot/cpu/riscv/stubGenerator_riscv.cpp

Print this page
@@ -1922,10 +1922,16 @@
  
      // if [src->klass() != dst->klass()] then return -1
      __ load_klass(t1, dst);
      __ bne(t1, scratch_src_klass, L_failed);
  
+     // Check for flat inline type array -> return -1
+     __ test_flat_array_oop(src, t1, L_failed);
+ 
+     // Check for null-free (non-flat) inline type array -> handle as object array
+     __ test_null_free_array_oop(src, t1, L_objArray);
+ 
      // if src->is_Array() isn't null then return -1
      // i.e. (lh >= 0)
      __ bgez(lh, L_failed);
  
      // At this point, it is known to be a typeArray (array_tag 0x3).

@@ -5998,11 +6004,11 @@
  
      if (multi_block) {
        int64_t block_bytes = 16 * 4;
        __ addi(buf, buf, block_bytes);
  
-       __ bge(limit, buf, L_sha1_loop, true);
+       __ bge(limit, buf, L_sha1_loop, /* is_far */ true);
      }
  
      // store back the state.
      __ zext(a, a, 32);
      __ slli(b, b, 32);
< prev index next >