diff options
-rw-r--r-- | libjava/ChangeLog | 6 | ||||
-rw-r--r-- | libjava/verify.cc | 6 |
2 files changed, 9 insertions, 3 deletions
diff --git a/libjava/ChangeLog b/libjava/ChangeLog index 32ff83c8c13..a60d6cd55a1 100644 --- a/libjava/ChangeLog +++ b/libjava/ChangeLog @@ -1,3 +1,9 @@ +2003-12-01 Jeff Sturm <jsturm@one-point.com> + + * verify.cc (state::clean_subrs): Clear seen_subrs. + (state::copy): Walk seen_subrs from copy, not `this'. + Don't clear seen_subrs. + 2003-12-01 Kim Ho <kho@redhat.com> * jni/gtk-peer/gnu_java_awt_peer_gtk_GtkTextAreaPeer.c (create): diff --git a/libjava/verify.cc b/libjava/verify.cc index 34583bdc180..e085938ce78 100644 --- a/libjava/verify.cc +++ b/libjava/verify.cc @@ -1010,6 +1010,7 @@ private: _Jv_Free (info); info = next; } + seen_subrs = NULL; } void copy (const state *copy, int max_stack, int max_locals, @@ -1035,11 +1036,10 @@ private: clean_subrs (); if (copy->seen_subrs) { - for (subr_info *info = seen_subrs; info != NULL; info = info->next) + for (subr_info *info = copy->seen_subrs; + info != NULL; info = info->next) add_subr (info->pc); } - else - seen_subrs = NULL; this_type = copy->this_type; // Don't modify `next'. |