Mercurial > hg > graal-jvmci-8
comparison src/share/vm/runtime/sharedRuntime.cpp @ 6985:80e866b1d053
Merge
author | coleenp |
---|---|
date | Fri, 16 Nov 2012 09:19:12 -0500 |
parents | 070d523b96a7 |
children | 2cb439954abf cd3d6a6b95d9 |
comparison
equal
deleted
inserted
replaced
6974:6b6ddf8c4329 | 6985:80e866b1d053 |
---|---|
1773 // even though the copy_array API also performs dynamic checks to ensure | 1773 // even though the copy_array API also performs dynamic checks to ensure |
1774 // that src and dest are truly arrays (and are conformable). | 1774 // that src and dest are truly arrays (and are conformable). |
1775 // The copy_array mechanism is awkward and could be removed, but | 1775 // The copy_array mechanism is awkward and could be removed, but |
1776 // the compilers don't call this function except as a last resort, | 1776 // the compilers don't call this function except as a last resort, |
1777 // so it probably doesn't matter. | 1777 // so it probably doesn't matter. |
1778 Klass::cast(src->klass())->copy_array((arrayOopDesc*)src, src_pos, | 1778 src->klass()->copy_array((arrayOopDesc*)src, src_pos, |
1779 (arrayOopDesc*)dest, dest_pos, | 1779 (arrayOopDesc*)dest, dest_pos, |
1780 length, thread); | 1780 length, thread); |
1781 } | 1781 } |
1782 JRT_END | 1782 JRT_END |
1783 | 1783 |
1786 | 1786 |
1787 // Get target class name from the checkcast instruction | 1787 // Get target class name from the checkcast instruction |
1788 vframeStream vfst(thread, true); | 1788 vframeStream vfst(thread, true); |
1789 assert(!vfst.at_end(), "Java frame must exist"); | 1789 assert(!vfst.at_end(), "Java frame must exist"); |
1790 Bytecode_checkcast cc(vfst.method(), vfst.method()->bcp_from(vfst.bci())); | 1790 Bytecode_checkcast cc(vfst.method(), vfst.method()->bcp_from(vfst.bci())); |
1791 Klass* targetKlass = Klass::cast(vfst.method()->constants()->klass_at( | 1791 Klass* targetKlass = vfst.method()->constants()->klass_at( |
1792 cc.index(), thread)); | 1792 cc.index(), thread); |
1793 return generate_class_cast_message(objName, targetKlass->external_name()); | 1793 return generate_class_cast_message(objName, targetKlass->external_name()); |
1794 } | 1794 } |
1795 | 1795 |
1796 char* SharedRuntime::generate_class_cast_message( | 1796 char* SharedRuntime::generate_class_cast_message( |
1797 const char* objName, const char* targetKlassName, const char* desc) { | 1797 const char* objName, const char* targetKlassName, const char* desc) { |