diff options
author | Tom Tromey <tromey@redhat.com> | 2005-06-29 16:18:53 +0000 |
---|---|---|
committer | Tom Tromey <tromey@gcc.gnu.org> | 2005-06-29 16:18:53 +0000 |
commit | 9cc2dc63bb9df3ba40d358fb40b336fa22d05b25 (patch) | |
tree | 8924f86f1c35eafa095a7f8b99440ce31668edd9 /libjava/interpret.cc | |
parent | 8972a0acaec81608f1e5e6882a680db1d5c9e0e3 (diff) | |
download | gcc-9cc2dc63bb9df3ba40d358fb40b336fa22d05b25.zip gcc-9cc2dc63bb9df3ba40d358fb40b336fa22d05b25.tar.gz gcc-9cc2dc63bb9df3ba40d358fb40b336fa22d05b25.tar.bz2 |
interpret.cc (run): Use _Jv_CheckCast.
* interpret.cc (run) <insn_checkcast, checkcast_resolved>: Use
_Jv_CheckCast.
From-SVN: r101427
Diffstat (limited to 'libjava/interpret.cc')
-rw-r--r-- | libjava/interpret.cc | 7 |
1 files changed, 2 insertions, 5 deletions
diff --git a/libjava/interpret.cc b/libjava/interpret.cc index 355b5b9..8b46dc6 100644 --- a/libjava/interpret.cc +++ b/libjava/interpret.cc @@ -25,7 +25,6 @@ details. */ #include <java/lang/StringBuffer.h> #include <java/lang/Class.h> #include <java/lang/reflect/Modifier.h> -#include <java/lang/ClassCastException.h> #include <java/lang/VirtualMachineError.h> #include <java/lang/InternalError.h> #include <java/lang/NullPointerException.h> @@ -3022,8 +3021,7 @@ _Jv_InterpMethod::run (void *retp, ffi_raw *args, _Jv_InterpMethod *meth) jclass to = (_Jv_Linker::resolve_pool_entry (meth->defining_class, index)).clazz; - if (value != NULL && ! to->isInstance (value)) - throw new java::lang::ClassCastException (to->getName()); + value = (jobject) _Jv_CheckCast (to, value); PUSHA (value); @@ -3040,8 +3038,7 @@ _Jv_InterpMethod::run (void *retp, ffi_raw *args, _Jv_InterpMethod *meth) SAVE_PC(); jobject value = POPA (); jclass to = (jclass) AVAL (); - if (value != NULL && ! to->isInstance (value)) - throw new java::lang::ClassCastException (to->getName()); + value = (jobject) _Jv_CheckCast (to, value); PUSHA (value); } NEXT_INSN; |