From 763b66b3c80da8970b622023a523b3fb68b4b418 Mon Sep 17 00:00:00 2001 From: bryce Date: Sat, 29 Apr 2006 01:35:50 +0000 Subject: 2006-04-28 Bryce McKinlay * link.cc (_Jv_Linker::resolve_pool_entry): Don't pass vtable_index to resolve_method. * interpret.cc (insn_invokevirtual): Use method->index, not vtable_index. Check accflag FINAL to determine finals. Only do explicit null check if calling a final method. Use throw_null_pointer_exception. (invokevirtual_resolved): Likewise. (null_pointer_exc): Remove static field. (throw_null_pointer_exception): Always define. Throw a new NullPointerException every time. * include/java-interp.h (_Jv_ResolvedMethod): Remove vtable_index field. * include/execution.h (resolve_method): Remove vtable_index argument. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@113370 138bc75d-0d04-0410-961f-82ee72b054a4 --- libjava/link.cc | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) (limited to 'libjava/link.cc') diff --git a/libjava/link.cc b/libjava/link.cc index e107316d047..c65b0c97ff1 100644 --- a/libjava/link.cc +++ b/libjava/link.cc @@ -496,16 +496,11 @@ _Jv_Linker::resolve_pool_entry (jclass klass, int index, bool lazy) throw new java::lang::NoSuchMethodError (sb->toString()); } - int vtable_index = -1; - if (pool->tags[index] != JV_CONSTANT_InterfaceMethodref) - vtable_index = (jshort)the_method->index; - pool->data[index].rmethod = klass->engine->resolve_method(the_method, found_class, ((the_method->accflags - & Modifier::STATIC) != 0), - vtable_index); + & Modifier::STATIC) != 0)); pool->tags[index] |= JV_CONSTANT_ResolvedFlag; } break; -- cgit v1.2.1