comparison src/share/vm/runtime/sharedRuntime.cpp @ 6983:070d523b96a7

8001471: Klass::cast() does nothing Summary: Remove function Klass::cast() and calls to it. Reviewed-by: dholmes, coleenp
author hseigel
date Mon, 12 Nov 2012 16:15:05 -0500
parents d8ce2825b193
children 2cb439954abf cd3d6a6b95d9
comparison
equal deleted inserted replaced
6981:8c413497f434 6983:070d523b96a7
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) {