< prev index next > src/hotspot/cpu/riscv/stubGenerator_riscv.cpp
Print this page
// 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).
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 >