equal
deleted
inserted
replaced
760 } |
760 } |
761 |
761 |
762 // caller responsible to free it: |
762 // caller responsible to free it: |
763 *temp_alloc = class_bytes; |
763 *temp_alloc = class_bytes; |
764 |
764 |
765 jbyte* array_base = typeArrayOop(JNIHandles::resolve_non_null(data))->byte_at_addr(0); |
765 ArrayAccess<>::arraycopy_to_native(arrayOop(JNIHandles::resolve_non_null(data)), typeArrayOopDesc::element_offset<jbyte>(0), |
766 Copy::conjoint_jbytes(array_base, class_bytes, length); |
766 reinterpret_cast<jbyte*>(class_bytes), length); |
767 |
767 |
768 objArrayHandle cp_patches_h; |
768 objArrayHandle cp_patches_h; |
769 if (cp_patches_jh != NULL) { |
769 if (cp_patches_jh != NULL) { |
770 oop p = JNIHandles::resolve_non_null(cp_patches_jh); |
770 oop p = JNIHandles::resolve_non_null(cp_patches_jh); |
771 assert(p->is_objArray(), "cp_patches must be an object[]"); |
771 assert(p->is_objArray(), "cp_patches must be an object[]"); |