comparison src/cpu/x86/vm/stubGenerator_x86_32.cpp @ 6831:d8ce2825b193

8000213: NPG: Should have renamed arrayKlass and typeArrayKlass Summary: Capitalize these metadata types (and objArrayKlass) Reviewed-by: stefank, twisti, kvn
author coleenp
date Sat, 29 Sep 2012 06:40:00 -0400
parents da91efe96a93
children a3ecd773a7b9
comparison
equal deleted inserted replaced
6811:1b582b1bf7cb 6831:d8ce2825b193
1799 #endif 1799 #endif
1800 1800
1801 assert_different_registers(src, src_pos, dst, dst_pos, rcx_lh); 1801 assert_different_registers(src, src_pos, dst, dst_pos, rcx_lh);
1802 arraycopy_range_checks(src, src_pos, dst, dst_pos, LENGTH, L_failed); 1802 arraycopy_range_checks(src, src_pos, dst, dst_pos, LENGTH, L_failed);
1803 1803
1804 // typeArrayKlass 1804 // TypeArrayKlass
1805 // 1805 //
1806 // src_addr = (src + array_header_in_bytes()) + (src_pos << log2elemsize); 1806 // src_addr = (src + array_header_in_bytes()) + (src_pos << log2elemsize);
1807 // dst_addr = (dst + array_header_in_bytes()) + (dst_pos << log2elemsize); 1807 // dst_addr = (dst + array_header_in_bytes()) + (dst_pos << log2elemsize);
1808 // 1808 //
1809 const Register rsi_offset = rsi; // array offset 1809 const Register rsi_offset = rsi; // array offset
1862 __ pop(rdi); 1862 __ pop(rdi);
1863 __ pop(rsi); 1863 __ pop(rsi);
1864 __ leave(); // required for proper stackwalking of RuntimeStub frame 1864 __ leave(); // required for proper stackwalking of RuntimeStub frame
1865 __ ret(0); 1865 __ ret(0);
1866 1866
1867 // objArrayKlass 1867 // ObjArrayKlass
1868 __ BIND(L_objArray); 1868 __ BIND(L_objArray);
1869 // live at this point: rcx_src_klass, src[_pos], dst[_pos] 1869 // live at this point: rcx_src_klass, src[_pos], dst[_pos]
1870 1870
1871 Label L_plain_copy, L_checkcast_copy; 1871 Label L_plain_copy, L_checkcast_copy;
1872 // test array classes for subtyping 1872 // test array classes for subtyping
1892 1892
1893 __ BIND(L_checkcast_copy); 1893 __ BIND(L_checkcast_copy);
1894 // live at this point: rcx_src_klass, dst[_pos], src[_pos] 1894 // live at this point: rcx_src_klass, dst[_pos], src[_pos]
1895 { 1895 {
1896 // Handy offsets: 1896 // Handy offsets:
1897 int ek_offset = in_bytes(objArrayKlass::element_klass_offset()); 1897 int ek_offset = in_bytes(ObjArrayKlass::element_klass_offset());
1898 int sco_offset = in_bytes(Klass::super_check_offset_offset()); 1898 int sco_offset = in_bytes(Klass::super_check_offset_offset());
1899 1899
1900 Register rsi_dst_klass = rsi; 1900 Register rsi_dst_klass = rsi;
1901 Register rdi_temp = rdi; 1901 Register rdi_temp = rdi;
1902 assert(rsi_dst_klass == src_pos, "expected alias w/ src_pos"); 1902 assert(rsi_dst_klass == src_pos, "expected alias w/ src_pos");