summaryrefslogtreecommitdiff
path: root/libjava/stacktrace.cc
diff options
context:
space:
mode:
authorrth <rth@138bc75d-0d04-0410-961f-82ee72b054a4>2005-05-25 23:24:07 +0000
committerrth <rth@138bc75d-0d04-0410-961f-82ee72b054a4>2005-05-25 23:24:07 +0000
commit4887ae62f644d984e3831571126c604252d9a5da (patch)
treedecadfd6855f01f7f2fa5b72d94ed6ce6e6edfea /libjava/stacktrace.cc
parent3187c1c2eb495763026ecf1fff5972c049447a2c (diff)
downloadgcc-4887ae62f644d984e3831571126c604252d9a5da.tar.gz
PR libgcj/21692
* sysdep/descriptor-n.h: New file. * sysdep/descriptor-y.h: New file. * sysdep/powerpc/descriptor.h: New file. * configure.host: Set $descriptor_h appropriate for the host. * configure.ac: Link it. * configure: Regenerate. * stacktrace.cc: Include sysdep/descriptor.h. (_Jv_StackTrace::UpdateNCodeMap): Use UNWRAP_FUNCTION_DESCRIPTOR. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@100173 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libjava/stacktrace.cc')
-rw-r--r--libjava/stacktrace.cc9
1 files changed, 5 insertions, 4 deletions
diff --git a/libjava/stacktrace.cc b/libjava/stacktrace.cc
index a849f6f9e71..e0276788835 100644
--- a/libjava/stacktrace.cc
+++ b/libjava/stacktrace.cc
@@ -29,6 +29,7 @@ details. */
#include <gnu/gcj/runtime/NameFinder.h>
#include <sysdep/backtrace.h>
+#include <sysdep/descriptor.h>
using namespace java::lang;
using namespace java::lang::reflect;
@@ -62,12 +63,12 @@ _Jv_StackTrace::UpdateNCodeMap ()
for (int i=0; i < klass->method_count; i++)
{
_Jv_Method *method = &klass->methods[i];
+ void *ncode = method->ncode;
// Add non-abstract methods to ncodeMap.
- if (method->ncode)
+ if (ncode)
{
- //printf("map->put 0x%x / %s.%s\n", method->ncode, klass->name->data,
- // method->name->data);
- ncodeMap->put ((java::lang::Object *) method->ncode, klass);
+ ncode = UNWRAP_FUNCTION_DESCRIPTOR (ncode);
+ ncodeMap->put ((java::lang::Object *)ncode, klass);
}
}
}