Mercurial > hg > graal-compiler
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"); |