From 3b3101d8b5ae4f08a16c0b7111da6cad41bbd282 Mon Sep 17 00:00:00 2001 From: mark Date: Tue, 15 Nov 2005 23:20:01 +0000 Subject: Imported GNU Classpath 0.19 + gcj-import-20051115. * sources.am: Regenerated. * Makefile.in: Likewise. * scripts/makemake.tcl: Use glob -nocomplain. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@107049 138bc75d-0d04-0410-961f-82ee72b054a4 --- .../vm/reference/gnu/classpath/VMStackWalker.java | 16 ++++++++++++---- .../vm/reference/gnu/classpath/jdwp/VMIdManager.java | 3 ++- 2 files changed, 14 insertions(+), 5 deletions(-) (limited to 'libjava/classpath/vm/reference/gnu') diff --git a/libjava/classpath/vm/reference/gnu/classpath/VMStackWalker.java b/libjava/classpath/vm/reference/gnu/classpath/VMStackWalker.java index 28e4ce36443..e995c46341d 100644 --- a/libjava/classpath/vm/reference/gnu/classpath/VMStackWalker.java +++ b/libjava/classpath/vm/reference/gnu/classpath/VMStackWalker.java @@ -88,9 +88,9 @@ public final class VMStackWalker /** * Get the class loader associated with the Class returned by - * getCallingClass(), or null if no - * such class exists or it is the boot loader. This method is an optimization - * for the expression getClassContext()[1].getClassLoader() + * getCallingClass(), or null if no such class + * exists or it is the boot loader. This method is an optimization for the + * expression VMStackWalker.getClassLoader(getClassContext()[1]) * and should return the same result. * *

@@ -102,7 +102,15 @@ public final class VMStackWalker Class[] ctx = getClassContext(); if (ctx.length < 3) return null; - return ctx[2].getClassLoader(); + return getClassLoader(ctx[2]); } + + /** + * Retrieve the class's ClassLoader, or null if loaded + * by the bootstrap loader. I.e., this should return the same thing + * as {@link java.lang.VMClass#getClassLoader}. This duplicate version + * is here to work around access permissions. + */ + public static native ClassLoader getClassLoader(Class cl); } diff --git a/libjava/classpath/vm/reference/gnu/classpath/jdwp/VMIdManager.java b/libjava/classpath/vm/reference/gnu/classpath/jdwp/VMIdManager.java index 09173fcf036..23cbb7b8ee3 100644 --- a/libjava/classpath/vm/reference/gnu/classpath/jdwp/VMIdManager.java +++ b/libjava/classpath/vm/reference/gnu/classpath/jdwp/VMIdManager.java @@ -138,6 +138,7 @@ public class VMIdManager { id.setId (++_lastId); } + id.setReference (obj); return id; } catch (InstantiationException ie) @@ -162,7 +163,7 @@ public class VMIdManager { id.setId (++_lastId); } - + id.setReference (obj); return id; } -- cgit v1.2.3