diff options
author | Keith Seitz <keiths@redhat.com> | 2007-02-08 01:55:29 +0000 |
---|---|---|
committer | Keith Seitz <kseitz@gcc.gnu.org> | 2007-02-08 01:55:29 +0000 |
commit | 896b1c879215b744a3e58f0c1362b2956d98029e (patch) | |
tree | 7ea144014105d1c233abe59980ff74db7eafd656 | |
parent | 1f64a0811b05c2f4fdc39d66dea4dbdb66c4952d (diff) | |
download | gcc-896b1c879215b744a3e58f0c1362b2956d98029e.tar.gz |
java-interp.h (_Jv_Frame::depth): New function.
* include/java-interp.h (_Jv_Frame::depth):
New function.
* jvmti.cc (_Jv_JVMTI_GetFrameCount): Use _Jv_Frame::depth.
From-SVN: r121709
-rw-r--r-- | libjava/ChangeLog | 6 | ||||
-rw-r--r-- | libjava/include/java-interp.h | 12 | ||||
-rw-r--r-- | libjava/jvmti.cc | 9 |
3 files changed, 18 insertions, 9 deletions
diff --git a/libjava/ChangeLog b/libjava/ChangeLog index 3ced148aa4c..d99393be56d 100644 --- a/libjava/ChangeLog +++ b/libjava/ChangeLog @@ -1,3 +1,9 @@ +2007-02-07 Keith Seitz <keiths@redhat.com> + + * include/java-interp.h (_Jv_Frame::depth): + New function. + * jvmti.cc (_Jv_JVMTI_GetFrameCount): Use _Jv_Frame::depth. + 2007-02-07 Kyle Galloway <kgallowa@redhat.com> * jvmti.cc (CHECK_FOR_NATIVE_METHOD): New macro. diff --git a/libjava/include/java-interp.h b/libjava/include/java-interp.h index 1370ef1de50..ce2fac273c4 100644 --- a/libjava/include/java-interp.h +++ b/libjava/include/java-interp.h @@ -1,6 +1,6 @@ // java-interp.h - Header file for the bytecode interpreter. -*- c++ -*- -/* Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation +/* Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007 Free Software Foundation This file is part of libgcj. @@ -357,6 +357,16 @@ public: { thread->frame = (gnu::gcj::RawData *) next; } + + int depth () + { + int depth = 0; + struct _Jv_Frame *f; + for (f = this; f != NULL; f = f->next) + ++depth; + + return depth; + } }; // An interpreted frame in the call stack diff --git a/libjava/jvmti.cc b/libjava/jvmti.cc index ba4ee817d47..815bee54aca 100644 --- a/libjava/jvmti.cc +++ b/libjava/jvmti.cc @@ -271,14 +271,7 @@ _Jv_JVMTI_GetFrameCount (MAYBE_UNUSED jvmtiEnv *env, jthread thread, THREAD_CHECK_IS_ALIVE (thr); _Jv_Frame *frame = reinterpret_cast<_Jv_Frame *> (thr->frame); - (*frame_count) = 0; - - while (frame != NULL) - { - (*frame_count)++; - frame = frame->next; - } - + (*frame_count) = frame->depth (); return JVMTI_ERROR_NONE; } |