From 23bc3a894d2e6e62f47e853c02388787142c633b Mon Sep 17 00:00:00 2001 From: Bryce McKinlay Date: Sat, 29 Apr 2006 01:35:50 +0000 Subject: link.cc (_Jv_Linker::resolve_pool_entry): Don't pass vtable_index to resolve_method. 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. From-SVN: r113370 --- libjava/include/execution.h | 6 +++--- libjava/include/java-interp.h | 1 - 2 files changed, 3 insertions(+), 4 deletions(-) (limited to 'libjava/include') diff --git a/libjava/include/execution.h b/libjava/include/execution.h index fe141e9..f0c309c 100644 --- a/libjava/include/execution.h +++ b/libjava/include/execution.h @@ -26,7 +26,7 @@ struct _Jv_ExecutionEngine void (*allocate_static_fields) (jclass, int, int); void (*create_ncode) (jclass); _Jv_ResolvedMethod *(*resolve_method) (_Jv_Method *, jclass, - jboolean, jint); + jboolean); void (*post_miranda_hook) (jclass); }; @@ -50,7 +50,7 @@ struct _Jv_CompiledEngine : public _Jv_ExecutionEngine } static _Jv_ResolvedMethod *do_resolve_method (_Jv_Method *, jclass, - jboolean, jint) + jboolean) { return NULL; } @@ -118,7 +118,7 @@ class _Jv_InterpreterEngine : public _Jv_ExecutionEngine static void do_allocate_static_fields (jclass, int, int); static void do_create_ncode (jclass); static _Jv_ResolvedMethod *do_resolve_method (_Jv_Method *, jclass, - jboolean, jint); + jboolean); static bool do_need_resolve_string_fields () { diff --git a/libjava/include/java-interp.h b/libjava/include/java-interp.h index 440a956..eb7c99d 100644 --- a/libjava/include/java-interp.h +++ b/libjava/include/java-interp.h @@ -243,7 +243,6 @@ _Jv_GetFirstMethod (_Jv_InterpClass *klass) struct _Jv_ResolvedMethod { jint stack_item_count; - jint vtable_index; jclass klass; _Jv_Method* method; -- cgit v1.1