[multiple changes]
authorAndrew Haley <aph@redhat.com>
Fri, 16 Feb 2007 13:51:04 +0000 (13:51 +0000)
committerAndrew Haley <aph@gcc.gnu.org>
Fri, 16 Feb 2007 13:51:04 +0000 (13:51 +0000)
2007-02-15  Andrew Haley  <aph@redhat.com>

        * Makefile.am (nat_source_files): Remove
        java/lang/management/natVMManagementFactory.cc.
        * java/lang/Thread.java (getStackTrace): Use reflection to call
        the ManagementFactory.
        * java/lang/management/VMManagementFactory.java: Remove native
        methods.
        * java/lang/management/natVMManagementFactory.cc: Deleted.
        * sources.am: Regnerate.
        * scripts/makemake.tcl: Add new "bcheaders" type.
        Move java/lang/management and gnu/classpath/management to "bc".
        Move gnu/java/lang/management to "bcheaders".

2007-02-16  Andrew Haley  <aph@redhat.com>

        * gnu/java/lang/management/MemoryMXBeanImpl.java,
        javax/management/MBeanServerDelegate.java: Use
        gnu.javax.management.ListenerData rather than
        gnu.classpath.ListenerData.
        * gnu/javax/management/ListenerData.java: Move here from
        gnu/classpath/ListenerData.java.

From-SVN: r122041

22 files changed:
libjava/ChangeLog
libjava/Makefile.am
libjava/Makefile.in
libjava/classpath/ChangeLog
libjava/classpath/gnu/classpath/ListenerData.java [deleted file]
libjava/classpath/gnu/java/lang/management/MemoryMXBeanImpl.java
libjava/classpath/gnu/javax/management/ListenerData.java [new file with mode: 0644]
libjava/classpath/javax/management/MBeanServerDelegate.java
libjava/classpath/lib/gnu/classpath/ListenerData.class [deleted file]
libjava/classpath/lib/gnu/java/lang/management/MemoryMXBeanImpl.class
libjava/classpath/lib/gnu/javax/management/ListenerData.class [new file with mode: 0644]
libjava/classpath/lib/java/lang/Thread$State.class
libjava/classpath/lib/java/lang/Thread.class
libjava/classpath/lib/java/lang/management/VMManagementFactory.class
libjava/classpath/lib/javax/management/MBeanServerDelegate.class
libjava/gnu/classpath/ListenerData.h [deleted file]
libjava/gnu/javax/management/ListenerData.h [new file with mode: 0644]
libjava/java/lang/Thread.java
libjava/java/lang/management/VMManagementFactory.java
libjava/java/lang/management/natVMManagementFactory.cc [deleted file]
libjava/scripts/makemake.tcl
libjava/sources.am

index bd312d0322fd81cb3e59be65559855f68798459a..948f2dfab21c755a5c5372a3098d4781f2850659 100644 (file)
@@ -1,3 +1,17 @@
+2007-02-15  Andrew Haley  <aph@redhat.com>
+
+       * Makefile.am (nat_source_files): Remove
+       java/lang/management/natVMManagementFactory.cc.
+       * java/lang/Thread.java (getStackTrace): Use reflection to call
+       the ManagementFactory.
+       * java/lang/management/VMManagementFactory.java: Remove native
+       methods.
+       * java/lang/management/natVMManagementFactory.cc: Deleted.
+       * sources.am: Regnerate.
+       * scripts/makemake.tcl: Add new "bcheaders" type.
+       Move java/lang/management and gnu/classpath/management to "bc".
+       Move gnu/java/lang/management to "bcheaders".
+       
 2007-02-15  Kyle Galloway  <kgallowa@redhat.com>
        
        * interpret.cc (_Jv_InterpMethod::check_handler): New method.
index 93b03e41a4e137fcca11911029568974b81d246d..2532ed6d4f2946ddd26decd1f47e95c9948c8874 100644 (file)
@@ -867,7 +867,6 @@ gnu/java/nio/channels/natFileChannelImpl.cc \
 java/io/natFile.cc \
 java/io/natVMObjectInputStream.cc \
 java/io/natVMObjectStreamClass.cc \
-java/lang/management/natVMManagementFactory.cc \
 java/lang/natCharacter.cc \
 java/lang/natClass.cc \
 java/lang/natClassLoader.cc \
index 3be95319233799508d2df29b23075e46de4418ed..16abe2df57abb735de358179c0a99df86c0c9b7a 100644 (file)
@@ -166,9 +166,9 @@ am__DEPENDENCIES_1 = gnu/awt.lo gnu/awt/j2d.lo gnu/classpath.lo \
        gnu/java/awt/font/opentype/truetype.lo gnu/java/awt/image.lo \
        gnu/java/awt/java2d.lo gnu/java/awt/peer.lo \
        gnu/java/awt/peer/headless.lo gnu/java/awt/print.lo \
-       gnu/java/io.lo gnu/java/lang.lo gnu/java/lang/management.lo \
-       gnu/java/lang/reflect.lo gnu/java/locale.lo gnu/java/math.lo \
-       gnu/java/net.lo gnu/java/net/loader.lo gnu/java/net/local.lo \
+       gnu/java/io.lo gnu/java/lang.lo gnu/java/lang/reflect.lo \
+       gnu/java/locale.lo gnu/java/math.lo gnu/java/net.lo \
+       gnu/java/net/loader.lo gnu/java/net/local.lo \
        gnu/java/net/protocol/core.lo gnu/java/net/protocol/file.lo \
        gnu/java/net/protocol/ftp.lo gnu/java/net/protocol/gcjlib.lo \
        gnu/java/net/protocol/http.lo gnu/java/net/protocol/https.lo \
@@ -204,8 +204,8 @@ am__DEPENDENCIES_1 = gnu/awt.lo gnu/awt/j2d.lo gnu/classpath.lo \
        gnu/javax/crypto/sasl/plain.lo gnu/javax/crypto/sasl/srp.lo \
        gnu/javax/imageio.lo gnu/javax/imageio/bmp.lo \
        gnu/javax/imageio/gif.lo gnu/javax/imageio/jpeg.lo \
-       gnu/javax/imageio/png.lo gnu/javax/management.lo \
-       gnu/javax/naming/giop.lo gnu/javax/naming/ictxImpl/trans.lo \
+       gnu/javax/imageio/png.lo gnu/javax/naming/giop.lo \
+       gnu/javax/naming/ictxImpl/trans.lo \
        gnu/javax/naming/jndi/url/corbaname.lo \
        gnu/javax/naming/jndi/url/rmi.lo gnu/javax/net/ssl.lo \
        gnu/javax/net/ssl/provider.lo gnu/javax/print.lo \
@@ -236,26 +236,25 @@ am__DEPENDENCIES_1 = gnu/awt.lo gnu/awt/j2d.lo gnu/classpath.lo \
        java/awt/peer.lo java/awt/print.lo java/beans.lo \
        java/beans/beancontext.lo java/io.lo java/lang.lo \
        java/lang/annotation.lo java/lang/instrument.lo \
-       java/lang/management.lo java/lang/ref.lo java/lang/reflect.lo \
-       java/math.lo java/net.lo java/nio.lo java/nio/channels.lo \
-       java/nio/channels/spi.lo java/nio/charset.lo \
-       java/nio/charset/spi.lo java/rmi.lo java/rmi/activation.lo \
-       java/rmi/dgc.lo java/rmi/registry.lo java/rmi/server.lo \
-       java/security.lo java/security/acl.lo java/security/cert.lo \
-       java/security/interfaces.lo java/security/spec.lo java/sql.lo \
-       java/text.lo java/util.lo java/util/concurrent.lo \
-       java/util/concurrent/atomic.lo java/util/concurrent/locks.lo \
-       java/util/jar.lo java/util/logging.lo java/util/prefs.lo \
-       java/util/regex.lo java/util/zip.lo javax/accessibility.lo \
-       javax/crypto.lo javax/crypto/interfaces.lo \
-       javax/crypto/spec.lo javax/management.lo \
-       javax/management/loading.lo javax/management/openmbean.lo \
-       javax/naming.lo javax/naming/directory.lo \
-       javax/naming/event.lo javax/naming/ldap.lo javax/naming/spi.lo \
-       javax/net.lo javax/net/ssl.lo javax/print.lo \
-       javax/print/attribute.lo javax/print/attribute/standard.lo \
-       javax/print/event.lo javax/security/auth.lo \
-       javax/security/auth/callback.lo \
+       java/lang/ref.lo java/lang/reflect.lo java/math.lo java/net.lo \
+       java/nio.lo java/nio/channels.lo java/nio/channels/spi.lo \
+       java/nio/charset.lo java/nio/charset/spi.lo java/rmi.lo \
+       java/rmi/activation.lo java/rmi/dgc.lo java/rmi/registry.lo \
+       java/rmi/server.lo java/security.lo java/security/acl.lo \
+       java/security/cert.lo java/security/interfaces.lo \
+       java/security/spec.lo java/sql.lo java/text.lo java/util.lo \
+       java/util/concurrent.lo java/util/concurrent/atomic.lo \
+       java/util/concurrent/locks.lo java/util/jar.lo \
+       java/util/logging.lo java/util/prefs.lo java/util/regex.lo \
+       java/util/zip.lo javax/accessibility.lo javax/crypto.lo \
+       javax/crypto/interfaces.lo javax/crypto/spec.lo \
+       javax/management.lo javax/management/loading.lo \
+       javax/management/openmbean.lo javax/naming.lo \
+       javax/naming/directory.lo javax/naming/event.lo \
+       javax/naming/ldap.lo javax/naming/spi.lo javax/net.lo \
+       javax/net/ssl.lo javax/print.lo javax/print/attribute.lo \
+       javax/print/attribute/standard.lo javax/print/event.lo \
+       javax/security/auth.lo javax/security/auth/callback.lo \
        javax/security/auth/kerberos.lo javax/security/auth/login.lo \
        javax/security/auth/spi.lo javax/security/auth/x500.lo \
        javax/security/cert.lo javax/security/sasl.lo \
@@ -274,13 +273,14 @@ am__DEPENDENCIES_1 = gnu/awt.lo gnu/awt/j2d.lo gnu/classpath.lo \
        sun/reflect.lo sun/reflect/annotation.lo sun/reflect/misc.lo
 am__DEPENDENCIES_2 = gnu-CORBA.lo gnu-java-awt-dnd-peer-gtk.lo \
        gnu-java-awt-peer-gtk.lo gnu-java-awt-peer-swing.lo \
-       gnu-java-beans.lo gnu-java-util-prefs-gconf.lo \
+       gnu-java-beans.lo gnu-java-lang-management.lo \
+       gnu-java-util-prefs-gconf.lo gnu-javax-management.lo \
        gnu-javax-rmi.lo gnu-javax-sound-midi.lo gnu-xml-aelfred2.lo \
        gnu-xml-dom.lo gnu-xml-libxmlj.lo gnu-xml-pipeline.lo \
        gnu-xml-stream.lo gnu-xml-transform.lo gnu-xml-util.lo \
-       gnu-xml-validation.lo gnu-xml-xpath.lo javax-imageio.lo \
-       javax-rmi.lo javax-xml.lo org-omg.lo org-relaxng.lo org-w3c.lo \
-       org-xml.lo
+       gnu-xml-validation.lo gnu-xml-xpath.lo java-lang-management.lo \
+       javax-imageio.lo javax-rmi.lo javax-xml.lo org-omg.lo \
+       org-relaxng.lo org-w3c.lo org-xml.lo
 am__DEPENDENCIES_3 = $(patsubst classpath/resource/%,%,$(addsuffix \
        .lo,$(property_files)))
 am__DEPENDENCIES_4 =
@@ -323,18 +323,16 @@ am__libgcj_la_SOURCES_DIST = prims.cc jni.cc jvmti.cc exception.cc \
        gnu/java/nio/natVMChannel.cc \
        gnu/java/nio/channels/natFileChannelImpl.cc java/io/natFile.cc \
        java/io/natVMObjectInputStream.cc \
-       java/io/natVMObjectStreamClass.cc \
-       java/lang/management/natVMManagementFactory.cc \
-       java/lang/natCharacter.cc java/lang/natClass.cc \
-       java/lang/natClassLoader.cc java/lang/natConcreteProcess.cc \
-       java/lang/natVMDouble.cc java/lang/natVMFloat.cc \
-       java/lang/natMath.cc java/lang/natObject.cc \
-       java/lang/natRuntime.cc java/lang/natString.cc \
-       java/lang/natStringBuffer.cc java/lang/natStringBuilder.cc \
-       java/lang/natSystem.cc java/lang/natThread.cc \
-       java/lang/natThreadLocal.cc java/lang/natVMClassLoader.cc \
-       java/lang/natVMThrowable.cc java/lang/ref/natReference.cc \
-       java/lang/reflect/natArray.cc \
+       java/io/natVMObjectStreamClass.cc java/lang/natCharacter.cc \
+       java/lang/natClass.cc java/lang/natClassLoader.cc \
+       java/lang/natConcreteProcess.cc java/lang/natVMDouble.cc \
+       java/lang/natVMFloat.cc java/lang/natMath.cc \
+       java/lang/natObject.cc java/lang/natRuntime.cc \
+       java/lang/natString.cc java/lang/natStringBuffer.cc \
+       java/lang/natStringBuilder.cc java/lang/natSystem.cc \
+       java/lang/natThread.cc java/lang/natThreadLocal.cc \
+       java/lang/natVMClassLoader.cc java/lang/natVMThrowable.cc \
+       java/lang/ref/natReference.cc java/lang/reflect/natArray.cc \
        java/lang/reflect/natConstructor.cc \
        java/lang/reflect/natField.cc java/lang/reflect/natMethod.cc \
        java/lang/reflect/natVMProxy.cc java/net/natVMInetAddress.cc \
@@ -387,18 +385,16 @@ am__objects_2 = gnu/classpath/jdwp/natVMFrame.lo \
        gnu/java/nio/natVMChannel.lo \
        gnu/java/nio/channels/natFileChannelImpl.lo java/io/natFile.lo \
        java/io/natVMObjectInputStream.lo \
-       java/io/natVMObjectStreamClass.lo \
-       java/lang/management/natVMManagementFactory.lo \
-       java/lang/natCharacter.lo java/lang/natClass.lo \
-       java/lang/natClassLoader.lo java/lang/natConcreteProcess.lo \
-       java/lang/natVMDouble.lo java/lang/natVMFloat.lo \
-       java/lang/natMath.lo java/lang/natObject.lo \
-       java/lang/natRuntime.lo java/lang/natString.lo \
-       java/lang/natStringBuffer.lo java/lang/natStringBuilder.lo \
-       java/lang/natSystem.lo java/lang/natThread.lo \
-       java/lang/natThreadLocal.lo java/lang/natVMClassLoader.lo \
-       java/lang/natVMThrowable.lo java/lang/ref/natReference.lo \
-       java/lang/reflect/natArray.lo \
+       java/io/natVMObjectStreamClass.lo java/lang/natCharacter.lo \
+       java/lang/natClass.lo java/lang/natClassLoader.lo \
+       java/lang/natConcreteProcess.lo java/lang/natVMDouble.lo \
+       java/lang/natVMFloat.lo java/lang/natMath.lo \
+       java/lang/natObject.lo java/lang/natRuntime.lo \
+       java/lang/natString.lo java/lang/natStringBuffer.lo \
+       java/lang/natStringBuilder.lo java/lang/natSystem.lo \
+       java/lang/natThread.lo java/lang/natThreadLocal.lo \
+       java/lang/natVMClassLoader.lo java/lang/natVMThrowable.lo \
+       java/lang/ref/natReference.lo java/lang/reflect/natArray.lo \
        java/lang/reflect/natConstructor.lo \
        java/lang/reflect/natField.lo java/lang/reflect/natMethod.lo \
        java/lang/reflect/natVMProxy.lo java/net/natVMInetAddress.lo \
@@ -1147,7 +1143,6 @@ gnu/awt/xlib/XToolkit.java
 gnu_awt_xlib_header_files = $(patsubst %.java,%.h,$(gnu_awt_xlib_source_files))
 gnu_classpath_source_files = \
 gnu/classpath/Configuration.java \
-classpath/gnu/classpath/ListenerData.java \
 classpath/gnu/classpath/NotImplementedException.java \
 classpath/gnu/classpath/Pointer.java \
 classpath/gnu/classpath/Pointer32.java \
@@ -2888,9 +2883,9 @@ classpath/gnu/javax/imageio/png/PNGTime.java
 
 gnu_javax_imageio_png_header_files = $(patsubst classpath/%,%,$(patsubst %.java,%.h,$(gnu_javax_imageio_png_source_files)))
 gnu_javax_management_source_files = \
+classpath/gnu/javax/management/ListenerData.java \
 classpath/gnu/javax/management/Server.java
 
-gnu_javax_management_header_files = $(patsubst classpath/%,%,$(patsubst %.java,%.h,$(gnu_javax_management_source_files)))
 gnu_javax_naming_giop_source_files = \
 classpath/gnu/javax/naming/giop/ContextContinuation.java \
 classpath/gnu/javax/naming/giop/CorbalocParser.java \
@@ -4355,7 +4350,6 @@ classpath/java/lang/management/ThreadInfo.java \
 classpath/java/lang/management/ThreadMXBean.java \
 java/lang/management/VMManagementFactory.java
 
-java_lang_management_header_files = $(patsubst classpath/%,%,$(patsubst %.java,%.h,$(java_lang_management_source_files)))
 java_lang_ref_source_files = \
 classpath/java/lang/ref/PhantomReference.java \
 java/lang/ref/Reference.java \
@@ -7246,7 +7240,6 @@ all_packages_source_files = \
   gnu/java/awt/print.list \
   gnu/java/io.list \
   gnu/java/lang.list \
-  gnu/java/lang/management.list \
   gnu/java/lang/reflect.list \
   gnu/java/locale.list \
   gnu/java/math.list \
@@ -7324,7 +7317,6 @@ all_packages_source_files = \
   gnu/javax/imageio/gif.list \
   gnu/javax/imageio/jpeg.list \
   gnu/javax/imageio/png.list \
-  gnu/javax/management.list \
   gnu/javax/naming/giop.list \
   gnu/javax/naming/ictxImpl/trans.list \
   gnu/javax/naming/jndi/url/corbaname.list \
@@ -7378,7 +7370,6 @@ all_packages_source_files = \
   java/lang.list \
   java/lang/annotation.list \
   java/lang/instrument.list \
-  java/lang/management.list \
   java/lang/ref.list \
   java/lang/reflect.list \
   java/math.list \
@@ -7577,7 +7568,6 @@ ordinary_header_files = \
   $(gnu_javax_imageio_gif_header_files) \
   $(gnu_javax_imageio_jpeg_header_files) \
   $(gnu_javax_imageio_png_header_files) \
-  $(gnu_javax_management_header_files) \
   $(gnu_javax_naming_giop_header_files) \
   $(gnu_javax_naming_ictxImpl_trans_header_files) \
   $(gnu_javax_naming_jndi_url_corbaname_header_files) \
@@ -7626,7 +7616,6 @@ ordinary_header_files = \
   $(java_lang_header_files) \
   $(java_lang_annotation_header_files) \
   $(java_lang_instrument_header_files) \
-  $(java_lang_management_header_files) \
   $(java_lang_ref_header_files) \
   $(java_lang_reflect_header_files) \
   $(java_math_header_files) \
@@ -7719,7 +7708,9 @@ bc_objects = \
   gnu-java-awt-peer-gtk.lo \
   gnu-java-awt-peer-swing.lo \
   gnu-java-beans.lo \
+  gnu-java-lang-management.lo \
   gnu-java-util-prefs-gconf.lo \
+  gnu-javax-management.lo \
   gnu-javax-rmi.lo \
   gnu-javax-sound-midi.lo \
   gnu-xml-aelfred2.lo \
@@ -7731,6 +7722,7 @@ bc_objects = \
   gnu-xml-util.lo \
   gnu-xml-validation.lo \
   gnu-xml-xpath.lo \
+  java-lang-management.lo \
   javax-imageio.lo \
   javax-rmi.lo \
   javax-xml.lo \
@@ -7986,7 +7978,6 @@ gnu/java/nio/channels/natFileChannelImpl.cc \
 java/io/natFile.cc \
 java/io/natVMObjectInputStream.cc \
 java/io/natVMObjectStreamClass.cc \
-java/lang/management/natVMManagementFactory.cc \
 java/lang/natCharacter.cc \
 java/lang/natClass.cc \
 java/lang/natClassLoader.cc \
@@ -8476,15 +8467,6 @@ java/io/natVMObjectInputStream.lo: java/io/$(am__dirstamp) \
        java/io/$(DEPDIR)/$(am__dirstamp)
 java/io/natVMObjectStreamClass.lo: java/io/$(am__dirstamp) \
        java/io/$(DEPDIR)/$(am__dirstamp)
-java/lang/management/$(am__dirstamp):
-       @$(mkdir_p) java/lang/management
-       @: > java/lang/management/$(am__dirstamp)
-java/lang/management/$(DEPDIR)/$(am__dirstamp):
-       @$(mkdir_p) java/lang/management/$(DEPDIR)
-       @: > java/lang/management/$(DEPDIR)/$(am__dirstamp)
-java/lang/management/natVMManagementFactory.lo:  \
-       java/lang/management/$(am__dirstamp) \
-       java/lang/management/$(DEPDIR)/$(am__dirstamp)
 java/lang/$(am__dirstamp):
        @$(mkdir_p) java/lang
        @: > java/lang/$(am__dirstamp)
@@ -8938,8 +8920,6 @@ mostlyclean-compile:
        -rm -f java/io/natVMObjectStreamClass.lo
        -rm -f java/lang/Object.$(OBJEXT)
        -rm -f java/lang/Object.lo
-       -rm -f java/lang/management/natVMManagementFactory.$(OBJEXT)
-       -rm -f java/lang/management/natVMManagementFactory.lo
        -rm -f java/lang/natCharacter.$(OBJEXT)
        -rm -f java/lang/natCharacter.lo
        -rm -f java/lang/natClass.$(OBJEXT)
@@ -9125,7 +9105,6 @@ distclean-compile:
 @AMDEP_TRUE@@am__include@ @am__quote@java/lang/$(DEPDIR)/natVMDouble.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@java/lang/$(DEPDIR)/natVMFloat.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@java/lang/$(DEPDIR)/natVMThrowable.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@java/lang/management/$(DEPDIR)/natVMManagementFactory.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@java/lang/ref/$(DEPDIR)/natReference.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@java/lang/reflect/$(DEPDIR)/natArray.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@java/lang/reflect/$(DEPDIR)/natConstructor.Plo@am__quote@
@@ -9413,7 +9392,6 @@ clean-libtool:
        -rm -rf gnu/java/nio/channels/.libs gnu/java/nio/channels/_libs
        -rm -rf java/io/.libs java/io/_libs
        -rm -rf java/lang/.libs java/lang/_libs
-       -rm -rf java/lang/management/.libs java/lang/management/_libs
        -rm -rf java/lang/ref/.libs java/lang/ref/_libs
        -rm -rf java/lang/reflect/.libs java/lang/reflect/_libs
        -rm -rf java/net/.libs java/net/_libs
@@ -9824,8 +9802,6 @@ distclean-generic:
        -rm -f java/io/$(am__dirstamp)
        -rm -f java/lang/$(DEPDIR)/$(am__dirstamp)
        -rm -f java/lang/$(am__dirstamp)
-       -rm -f java/lang/management/$(DEPDIR)/$(am__dirstamp)
-       -rm -f java/lang/management/$(am__dirstamp)
        -rm -f java/lang/ref/$(DEPDIR)/$(am__dirstamp)
        -rm -f java/lang/ref/$(am__dirstamp)
        -rm -f java/lang/reflect/$(DEPDIR)/$(am__dirstamp)
@@ -9863,7 +9839,7 @@ clean-am: clean-binPROGRAMS clean-dbexecLTLIBRARIES clean-generic \
 
 distclean: distclean-multi distclean-recursive
        -rm -f $(am__CONFIG_DISTCLEAN_FILES)
-       -rm -rf ./$(DEPDIR) classpath/tools/$(DEPDIR) gnu/classpath/$(DEPDIR) gnu/classpath/jdwp/$(DEPDIR) gnu/gcj/$(DEPDIR) gnu/gcj/convert/$(DEPDIR) gnu/gcj/io/$(DEPDIR) gnu/gcj/jvmti/$(DEPDIR) gnu/gcj/runtime/$(DEPDIR) gnu/gcj/tools/gcj_dbtool/$(DEPDIR) gnu/gcj/util/$(DEPDIR) gnu/gcj/xlib/$(DEPDIR) gnu/java/lang/$(DEPDIR) gnu/java/lang/management/$(DEPDIR) gnu/java/net/$(DEPDIR) gnu/java/net/protocol/core/$(DEPDIR) gnu/java/nio/$(DEPDIR) gnu/java/nio/channels/$(DEPDIR) java/io/$(DEPDIR) java/lang/$(DEPDIR) java/lang/management/$(DEPDIR) java/lang/ref/$(DEPDIR) java/lang/reflect/$(DEPDIR) java/net/$(DEPDIR) java/nio/$(DEPDIR) java/nio/channels/$(DEPDIR) java/security/$(DEPDIR) java/text/$(DEPDIR) java/util/$(DEPDIR) java/util/concurrent/atomic/$(DEPDIR) java/util/logging/$(DEPDIR) java/util/zip/$(DEPDIR) sun/misc/$(DEPDIR)
+       -rm -rf ./$(DEPDIR) classpath/tools/$(DEPDIR) gnu/classpath/$(DEPDIR) gnu/classpath/jdwp/$(DEPDIR) gnu/gcj/$(DEPDIR) gnu/gcj/convert/$(DEPDIR) gnu/gcj/io/$(DEPDIR) gnu/gcj/jvmti/$(DEPDIR) gnu/gcj/runtime/$(DEPDIR) gnu/gcj/tools/gcj_dbtool/$(DEPDIR) gnu/gcj/util/$(DEPDIR) gnu/gcj/xlib/$(DEPDIR) gnu/java/lang/$(DEPDIR) gnu/java/lang/management/$(DEPDIR) gnu/java/net/$(DEPDIR) gnu/java/net/protocol/core/$(DEPDIR) gnu/java/nio/$(DEPDIR) gnu/java/nio/channels/$(DEPDIR) java/io/$(DEPDIR) java/lang/$(DEPDIR) java/lang/ref/$(DEPDIR) java/lang/reflect/$(DEPDIR) java/net/$(DEPDIR) java/nio/$(DEPDIR) java/nio/channels/$(DEPDIR) java/security/$(DEPDIR) java/text/$(DEPDIR) java/util/$(DEPDIR) java/util/concurrent/atomic/$(DEPDIR) java/util/logging/$(DEPDIR) java/util/zip/$(DEPDIR) sun/misc/$(DEPDIR)
        -rm -f Makefile
 distclean-am: clean-am distclean-compile distclean-generic \
        distclean-libtool distclean-local distclean-tags
@@ -9896,7 +9872,7 @@ installcheck-am:
 maintainer-clean: maintainer-clean-multi maintainer-clean-recursive
        -rm -f $(am__CONFIG_DISTCLEAN_FILES)
        -rm -rf $(top_srcdir)/autom4te.cache
-       -rm -rf ./$(DEPDIR) classpath/tools/$(DEPDIR) gnu/classpath/$(DEPDIR) gnu/classpath/jdwp/$(DEPDIR) gnu/gcj/$(DEPDIR) gnu/gcj/convert/$(DEPDIR) gnu/gcj/io/$(DEPDIR) gnu/gcj/jvmti/$(DEPDIR) gnu/gcj/runtime/$(DEPDIR) gnu/gcj/tools/gcj_dbtool/$(DEPDIR) gnu/gcj/util/$(DEPDIR) gnu/gcj/xlib/$(DEPDIR) gnu/java/lang/$(DEPDIR) gnu/java/lang/management/$(DEPDIR) gnu/java/net/$(DEPDIR) gnu/java/net/protocol/core/$(DEPDIR) gnu/java/nio/$(DEPDIR) gnu/java/nio/channels/$(DEPDIR) java/io/$(DEPDIR) java/lang/$(DEPDIR) java/lang/management/$(DEPDIR) java/lang/ref/$(DEPDIR) java/lang/reflect/$(DEPDIR) java/net/$(DEPDIR) java/nio/$(DEPDIR) java/nio/channels/$(DEPDIR) java/security/$(DEPDIR) java/text/$(DEPDIR) java/util/$(DEPDIR) java/util/concurrent/atomic/$(DEPDIR) java/util/logging/$(DEPDIR) java/util/zip/$(DEPDIR) sun/misc/$(DEPDIR)
+       -rm -rf ./$(DEPDIR) classpath/tools/$(DEPDIR) gnu/classpath/$(DEPDIR) gnu/classpath/jdwp/$(DEPDIR) gnu/gcj/$(DEPDIR) gnu/gcj/convert/$(DEPDIR) gnu/gcj/io/$(DEPDIR) gnu/gcj/jvmti/$(DEPDIR) gnu/gcj/runtime/$(DEPDIR) gnu/gcj/tools/gcj_dbtool/$(DEPDIR) gnu/gcj/util/$(DEPDIR) gnu/gcj/xlib/$(DEPDIR) gnu/java/lang/$(DEPDIR) gnu/java/lang/management/$(DEPDIR) gnu/java/net/$(DEPDIR) gnu/java/net/protocol/core/$(DEPDIR) gnu/java/nio/$(DEPDIR) gnu/java/nio/channels/$(DEPDIR) java/io/$(DEPDIR) java/lang/$(DEPDIR) java/lang/ref/$(DEPDIR) java/lang/reflect/$(DEPDIR) java/net/$(DEPDIR) java/nio/$(DEPDIR) java/nio/channels/$(DEPDIR) java/security/$(DEPDIR) java/text/$(DEPDIR) java/util/$(DEPDIR) java/util/concurrent/atomic/$(DEPDIR) java/util/logging/$(DEPDIR) java/util/zip/$(DEPDIR) sun/misc/$(DEPDIR)
        -rm -f Makefile
 maintainer-clean-am: distclean-am maintainer-clean-generic
 
@@ -10249,11 +10225,10 @@ gnu/java/lang.list: $(gnu_java_lang_source_files)
 
 -include gnu/java/lang.deps
 
-gnu/java/lang/management.list: $(gnu_java_lang_management_source_files)
-       @$(mkinstalldirs) $(dir $@)
-       echo $(srcdir)/classpath/lib/gnu/java/lang/management/*.class > gnu/java/lang/management.list
-
--include gnu/java/lang/management.deps
+gnu-java-lang-management.lo: $(gnu_java_lang_management_source_files)
+       @find $(srcdir)/classpath/lib/gnu/java/lang/management -name '*.class' > gnu-java-lang-management.list
+       $(LTGCJCOMPILE) -fsource-filename=$(here)/classpath/lib/classes -findirect-dispatch -fno-indirect-classes -c -o gnu-java-lang-management.lo @gnu-java-lang-management.list
+       @rm -f gnu-java-lang-management.list
 
 gnu/java/lang/reflect.list: $(gnu_java_lang_reflect_source_files)
        @$(mkinstalldirs) $(dir $@)
@@ -10722,11 +10697,10 @@ gnu/javax/imageio/png.list: $(gnu_javax_imageio_png_source_files)
 
 -include gnu/javax/imageio/png.deps
 
-gnu/javax/management.list: $(gnu_javax_management_source_files)
-       @$(mkinstalldirs) $(dir $@)
-       echo $(srcdir)/classpath/lib/gnu/javax/management/*.class > gnu/javax/management.list
-
--include gnu/javax/management.deps
+gnu-javax-management.lo: $(gnu_javax_management_source_files)
+       @find $(srcdir)/classpath/lib/gnu/javax/management -name '*.class' > gnu-javax-management.list
+       $(LTGCJCOMPILE) -fsource-filename=$(here)/classpath/lib/classes -fjni -findirect-dispatch -fno-indirect-classes -c -o gnu-javax-management.lo @gnu-javax-management.list
+       @rm -f gnu-javax-management.list
 
 gnu/javax/naming/giop.list: $(gnu_javax_naming_giop_source_files)
        @$(mkinstalldirs) $(dir $@)
@@ -11101,11 +11075,10 @@ java/lang/instrument.list: $(java_lang_instrument_source_files)
 
 -include java/lang/instrument.deps
 
-java/lang/management.list: $(java_lang_management_source_files)
-       @$(mkinstalldirs) $(dir $@)
-       echo $(srcdir)/classpath/lib/java/lang/management/*.class > java/lang/management.list
-
--include java/lang/management.deps
+java-lang-management.lo: $(java_lang_management_source_files)
+       @find $(srcdir)/classpath/lib/java/lang/management -name '*.class' > java-lang-management.list
+       $(LTGCJCOMPILE) -fsource-filename=$(here)/classpath/lib/classes -fjni -findirect-dispatch -fno-indirect-classes -c -o java-lang-management.lo @java-lang-management.list
+       @rm -f java-lang-management.list
 
 java/lang/ref.list: $(java_lang_ref_source_files)
        @$(mkinstalldirs) $(dir $@)
index 85fa74c0b8c0f00dec6980722eabb0d4c194f325..577fa6772251ed4ca2cec8513ff4e068a1e219f4 100644 (file)
@@ -1,3 +1,12 @@
+2007-02-16  Andrew Haley  <aph@redhat.com>
+
+       * gnu/java/lang/management/MemoryMXBeanImpl.java,
+       javax/management/MBeanServerDelegate.java: Use
+       gnu.javax.management.ListenerData rather than
+       gnu.classpath.ListenerData.
+       * gnu/javax/management/ListenerData.java: Move here from
+       gnu/classpath/ListenerData.java.
+
 2007-02-14  Jakub Jelinek  <jakub@redhat.com>
        Andrew Haley  <aph@redhat.com>
 
diff --git a/libjava/classpath/gnu/classpath/ListenerData.java b/libjava/classpath/gnu/classpath/ListenerData.java
deleted file mode 100644 (file)
index 284fa02..0000000
+++ /dev/null
@@ -1,136 +0,0 @@
-/* ListenerData.java - Class to contain data about management bean listeners
-   Copyright (C) 2006 Free Software Foundation
-
-This file is part of GNU Classpath.
-
-GNU Classpath is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2, or (at your option)
-any later version.
-
-GNU Classpath is distributed in the hope that it will be useful, but
-WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with GNU Classpath; see the file COPYING.  If not, write to the
-Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
-02110-1301 USA.
-
-Linking this library statically or dynamically with other modules is
-making a combined work based on this library.  Thus, the terms and
-conditions of the GNU General Public License cover the whole
-combination.
-
-As a special exception, the copyright holders of this library give you
-permission to link this library with independent modules to produce an
-executable, regardless of the license terms of these independent
-modules, and to copy and distribute the resulting executable under
-terms of your choice, provided that you also meet, for each linked
-independent module, the terms and conditions of the license of that
-module.  An independent module is a module which is not derived from
-or based on this library.  If you modify this library, you may extend
-this exception to your version of the library, but you are not
-obligated to do so.  If you do not wish to do so, delete this
-exception statement from your version. */
-
-package gnu.classpath;
-
-import javax.management.NotificationFilter;
-import javax.management.NotificationListener;
-
-/**
- * Container for data on management listeners.  Wraps
- * a {@link javax.management.NotificationListener},
- * {@link javax.management.NotificationFilter} and
- * passback object in one class.
- *
- * @author Andrew John Hughes (gnu_andrew@member.fsf.org)
- * @since 1.5
- */
-public class ListenerData
-{
-  /**
-   * The listener itself.
-   */
-  private NotificationListener listener;
-
-  /**
-   * A filter to apply to incoming events.
-   */
-  private NotificationFilter filter;
-
-  /**
-   * An object to pass back to the listener on an
-   * event occurring.
-   */
-  private Object passback;
-  
-  /**
-   * Constructs a new {@link ListenerData} with the specified
-   * listener, filter and passback object.
-   *
-   * @param listener the listener itself.
-   * @param filter the filter for incoming events.
-   * @param passback the object to passback on an incoming event.
-   */
-  public ListenerData(NotificationListener listener,
-                     NotificationFilter filter, Object passback)
-  {
-    this.listener = listener;
-    this.filter = filter;
-    this.passback = passback;
-  }
-  
-  /**
-   * Returns the listener.
-   *
-   * @return the listener.
-   */
-  public NotificationListener getListener()
-  {
-    return listener;
-  }
-  
-  /**
-   * Returns the filter.
-   *
-   * @return the filter.
-   */
-  public NotificationFilter getFilter()
-  {
-    return filter;
-  }
-  
-  /**
-   * Returns the passback object.
-   *
-   * @return the passback object.
-   */
-  public Object getPassback()
-  {
-    return passback;
-  }
-  
-  /**
-   * Returns true if the supplied object is an instance of
-   * {@link ListenerData} and has the same listener, filter
-   * and passback object.
-   *
-   * @param obj the object to check.
-   * @return true if <code>obj</code> is equal to this.
-   */
-  public boolean equals(Object obj)
-  {
-    if (obj instanceof ListenerData)
-      {
-       ListenerData data = (ListenerData) obj;
-       return (data.getListener() == listener &&
-               data.getFilter() == filter &&
-               data.getPassback() == passback);
-      }
-    return false;
-  }
-  
-}
index 8cb10420213812809b04ac9ed30b81f28b0b1525..1e6c63afccf9f0e37f0305bc0d949d1f21d7a13e 100644 (file)
@@ -37,7 +37,7 @@ exception statement from your version. */
 
 package gnu.java.lang.management;
 
-import gnu.classpath.ListenerData;
+import gnu.javax.management.ListenerData;
 
 import java.lang.management.MemoryMXBean;
 import java.lang.management.MemoryNotificationInfo;
diff --git a/libjava/classpath/gnu/javax/management/ListenerData.java b/libjava/classpath/gnu/javax/management/ListenerData.java
new file mode 100644 (file)
index 0000000..719daa0
--- /dev/null
@@ -0,0 +1,136 @@
+/* ListenerData.java - Class to contain data about management bean listeners
+   Copyright (C) 2006 Free Software Foundation
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+package gnu.javax.management;
+
+import javax.management.NotificationFilter;
+import javax.management.NotificationListener;
+
+/**
+ * Container for data on management listeners.  Wraps
+ * a {@link javax.management.NotificationListener},
+ * {@link javax.management.NotificationFilter} and
+ * passback object in one class.
+ *
+ * @author Andrew John Hughes (gnu_andrew@member.fsf.org)
+ * @since 1.5
+ */
+public class ListenerData
+{
+  /**
+   * The listener itself.
+   */
+  private NotificationListener listener;
+
+  /**
+   * A filter to apply to incoming events.
+   */
+  private NotificationFilter filter;
+
+  /**
+   * An object to pass back to the listener on an
+   * event occurring.
+   */
+  private Object passback;
+  
+  /**
+   * Constructs a new {@link ListenerData} with the specified
+   * listener, filter and passback object.
+   *
+   * @param listener the listener itself.
+   * @param filter the filter for incoming events.
+   * @param passback the object to passback on an incoming event.
+   */
+  public ListenerData(NotificationListener listener,
+                     NotificationFilter filter, Object passback)
+  {
+    this.listener = listener;
+    this.filter = filter;
+    this.passback = passback;
+  }
+  
+  /**
+   * Returns the listener.
+   *
+   * @return the listener.
+   */
+  public NotificationListener getListener()
+  {
+    return listener;
+  }
+  
+  /**
+   * Returns the filter.
+   *
+   * @return the filter.
+   */
+  public NotificationFilter getFilter()
+  {
+    return filter;
+  }
+  
+  /**
+   * Returns the passback object.
+   *
+   * @return the passback object.
+   */
+  public Object getPassback()
+  {
+    return passback;
+  }
+  
+  /**
+   * Returns true if the supplied object is an instance of
+   * {@link ListenerData} and has the same listener, filter
+   * and passback object.
+   *
+   * @param obj the object to check.
+   * @return true if <code>obj</code> is equal to this.
+   */
+  public boolean equals(Object obj)
+  {
+    if (obj instanceof ListenerData)
+      {
+       ListenerData data = (ListenerData) obj;
+       return (data.getListener() == listener &&
+               data.getFilter() == filter &&
+               data.getPassback() == passback);
+      }
+    return false;
+  }
+  
+}
index 347e51fc97c62a1f86acf0821feb78191106a504..9e9d19111a83b7e1942e8c156aac049955cfb0d0 100644 (file)
@@ -37,7 +37,7 @@ exception statement from your version. */
 
 package javax.management;
 
-import gnu.classpath.ListenerData;
+import gnu.javax.management.ListenerData;
 import gnu.classpath.SystemProperties;
 
 import java.net.InetAddress;
diff --git a/libjava/classpath/lib/gnu/classpath/ListenerData.class b/libjava/classpath/lib/gnu/classpath/ListenerData.class
deleted file mode 100644 (file)
index 2ab92ad..0000000
Binary files a/libjava/classpath/lib/gnu/classpath/ListenerData.class and /dev/null differ
index 714075ef1809c9512bf12dabbb2b0d4c788b9df1..9347297b37aa4a005d4a1ce26e48105878f75dfc 100644 (file)
Binary files a/libjava/classpath/lib/gnu/java/lang/management/MemoryMXBeanImpl.class and b/libjava/classpath/lib/gnu/java/lang/management/MemoryMXBeanImpl.class differ
diff --git a/libjava/classpath/lib/gnu/javax/management/ListenerData.class b/libjava/classpath/lib/gnu/javax/management/ListenerData.class
new file mode 100644 (file)
index 0000000..aaebddd
Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/management/ListenerData.class differ
index 3ce018edd9c8b3d245b8578bcaff6d63be38e2de..e5ddca2eab821f912c4502fc617c9b0d33b73ab4 100644 (file)
Binary files a/libjava/classpath/lib/java/lang/Thread$State.class and b/libjava/classpath/lib/java/lang/Thread$State.class differ
index 8329bc1552397dbf899da826e2a5e7aacc7593b0..09315799f1e09e2cad34ab5932bb8a6a963be5d0 100644 (file)
Binary files a/libjava/classpath/lib/java/lang/Thread.class and b/libjava/classpath/lib/java/lang/Thread.class differ
index 98185d22de3d711605bfe9a2b0c8c6af6ceaaa9a..7602cf7bacdb98f6416f1c68eec5822fd8bc4216 100644 (file)
Binary files a/libjava/classpath/lib/java/lang/management/VMManagementFactory.class and b/libjava/classpath/lib/java/lang/management/VMManagementFactory.class differ
index 90130982041fc59a0ff18fa2e93ca0f8b4ba1a5b..c0c761938cb15f4ca7219cdc1f0b2ee11136cd6c 100644 (file)
Binary files a/libjava/classpath/lib/javax/management/MBeanServerDelegate.class and b/libjava/classpath/lib/javax/management/MBeanServerDelegate.class differ
diff --git a/libjava/gnu/classpath/ListenerData.h b/libjava/gnu/classpath/ListenerData.h
deleted file mode 100644 (file)
index 03be1ce..0000000
+++ /dev/null
@@ -1,46 +0,0 @@
-
-// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
-
-#ifndef __gnu_classpath_ListenerData__
-#define __gnu_classpath_ListenerData__
-
-#pragma interface
-
-#include <java/lang/Object.h>
-extern "Java"
-{
-  namespace gnu
-  {
-    namespace classpath
-    {
-        class ListenerData;
-    }
-  }
-  namespace javax
-  {
-    namespace management
-    {
-        class NotificationFilter;
-        class NotificationListener;
-    }
-  }
-}
-
-class gnu::classpath::ListenerData : public ::java::lang::Object
-{
-
-public:
-  ListenerData(::javax::management::NotificationListener *, ::javax::management::NotificationFilter *, ::java::lang::Object *);
-  virtual ::javax::management::NotificationListener * getListener();
-  virtual ::javax::management::NotificationFilter * getFilter();
-  virtual ::java::lang::Object * getPassback();
-  virtual jboolean equals(::java::lang::Object *);
-private:
-  ::javax::management::NotificationListener * __attribute__((aligned(__alignof__( ::java::lang::Object)))) listener;
-  ::javax::management::NotificationFilter * filter;
-  ::java::lang::Object * passback;
-public:
-  static ::java::lang::Class class$;
-};
-
-#endif // __gnu_classpath_ListenerData__
diff --git a/libjava/gnu/javax/management/ListenerData.h b/libjava/gnu/javax/management/ListenerData.h
new file mode 100644 (file)
index 0000000..ff1b8f0
--- /dev/null
@@ -0,0 +1,49 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_management_ListenerData__
+#define __gnu_javax_management_ListenerData__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace management
+      {
+          class ListenerData;
+      }
+    }
+  }
+  namespace javax
+  {
+    namespace management
+    {
+        class NotificationFilter;
+        class NotificationListener;
+    }
+  }
+}
+
+class gnu::javax::management::ListenerData : public ::java::lang::Object
+{
+
+public:
+  ListenerData(::javax::management::NotificationListener *, ::javax::management::NotificationFilter *, ::java::lang::Object *);
+  virtual ::javax::management::NotificationListener * getListener();
+  virtual ::javax::management::NotificationFilter * getFilter();
+  virtual ::java::lang::Object * getPassback();
+  virtual jboolean equals(::java::lang::Object *);
+private:
+  ::javax::management::NotificationListener * __attribute__((aligned(__alignof__( ::java::lang::Object)))) listener;
+  ::javax::management::NotificationFilter * filter;
+  ::java::lang::Object * passback;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_management_ListenerData__
index 7216512530df0707b6ee06f75cccf23bec61b097..84682f3fb831d1ef4d0722c8efdd6f5d6c2cb5b0 100644 (file)
@@ -50,6 +50,9 @@ import java.lang.management.ThreadMXBean;
 import java.util.HashMap;
 import java.util.Map;
 
+import java.lang.reflect.InvocationTargetException;
+import java.lang.reflect.Method;
+
 /* Written using "Java Class Libraries", 2nd edition, ISBN 0-201-31002-3
  * "The Java Language Specification", ISBN 0-201-63451-1
  * plus online API docs for JDK 1.2 beta from http://www.javasoft.com.
@@ -1291,9 +1294,43 @@ public class Thread implements Runnable
     SecurityManager sm = SecurityManager.current; // Be thread-safe.
     if (sm != null)
       sm.checkPermission(new RuntimePermission("getStackTrace"));
-    ThreadMXBean bean = ManagementFactory.getThreadMXBean();
-    ThreadInfo info = bean.getThreadInfo(getId(), Integer.MAX_VALUE);
-    return info.getStackTrace();
-  }
 
+    // Calling java.lang.management via reflection means that
+    // javax.management be overridden in the endorsed directory.
+
+    // This is the equivalent code:
+    //
+    //     ThreadMXBean bean = ManagementFactory.getThreadMXBean();
+    //     ThreadInfo info = bean.getThreadInfo(getId(), Integer.MAX_VALUE);
+    //     return info.getStackTrace();
+
+    try
+      {
+       try
+         {
+           Object bean 
+             = (Class.forName("java.lang.management.ManagementFactory")
+                .getDeclaredMethod("getThreadMXBean")
+                .invoke(null));
+           Object info = bean.getClass()
+             .getDeclaredMethod("getThreadInfo", long.class, int.class)
+             .invoke(bean, new Long(getId()), new Integer(Integer.MAX_VALUE));
+           Object trace = info.getClass()
+             .getDeclaredMethod("getStackTrace").invoke(info);
+           return (StackTraceElement[])trace;
+         }
+       catch (InvocationTargetException e)
+         {
+           throw (Exception)e.getTargetException();
+         }
+      }
+    catch (UnsupportedOperationException e)
+      {
+       throw e;
+      }
+    catch (Exception e)
+      {
+       throw new UnsupportedOperationException(e);
+      }
+  }
 }
index f10497014b4a99ab95596a720509cf7af72e0718..35b15e360f1f0bfb2d8cc9765d4dafe78dabd5af 100644 (file)
@@ -1,5 +1,5 @@
 /* VMManagementFactory.java - VM interface for obtaining system beans.
-   Copyright (C) 2006 Free Software Foundation
+   Copyright (C) 2006, 2007 Free Software Foundation
 
 This file is part of GNU Classpath.
 
@@ -54,7 +54,11 @@ final class VMManagementFactory
    *
    * @return a list of memory pool names.
    */
-  static native String[] getMemoryPoolNames();
+  static String[] getMemoryPoolNames()
+  {
+    String[] result = {"Heap"};
+    return result;
+  }
 
   /**
    * Return a list of the names of the currently available
@@ -63,7 +67,11 @@ final class VMManagementFactory
    *
    * @return a list of memory manager names.
    */
-  static native String[] getMemoryManagerNames();
+  static String[] getMemoryManagerNames()
+  {
+    String[] result = {};
+    return result;
+  }
 
   /**
    * Return a list of the names of the currently available
@@ -71,5 +79,9 @@ final class VMManagementFactory
    *
    * @return a list of garbage collector names.
    */
-  static native String[] getGarbageCollectorNames();
+  static String[] getGarbageCollectorNames()
+  {
+    String[] result = {"BoehmGC"};
+    return result;
+  }
 }
diff --git a/libjava/java/lang/management/natVMManagementFactory.cc b/libjava/java/lang/management/natVMManagementFactory.cc
deleted file mode 100644 (file)
index 35a418b..0000000
+++ /dev/null
@@ -1,44 +0,0 @@
-/* Copyright (C) 2006  Free Software Foundation
-
-   This file is part of libgcj.
-
-This software is copyrighted work licensed under the terms of the
-Libgcj License.  Please consult the file "LIBGCJ_LICENSE" for
-details.  */
-/**
- * @author Andrew John Hughes <gnu_andrew@member.fsf.org>
- * @date Tue 08 Aug 2006 */
-/* Implemented for our sole pool, the heap, and our sole memory
- * manager/garbage collector, Boehm GC.
- * Status:  Believed complete and correct.
- */
-
-#include <config.h>
-
-#include <gcj/cni.h>
-#include <java/lang/String.h>
-#include <java/lang/management/VMManagementFactory.h>
-
-JArray< ::java::lang::String *> *
-java::lang::management::VMManagementFactory::getMemoryPoolNames ()
-{
-  return (JArray<jstring>*)
-    JvNewObjectArray(1, &java::lang::String::class$, JvNewStringLatin1("Heap"));
-}
-
-
-JArray< ::java::lang::String *> *
-java::lang::management::VMManagementFactory::getMemoryManagerNames ()
-{
-  return (JArray<jstring>*)
-    JvNewObjectArray(0, &java::lang::String::class$, NULL);
-}
-
-
-JArray< ::java::lang::String *> *
-java::lang::management::VMManagementFactory::getGarbageCollectorNames ()
-{
-  return (JArray<jstring>*) 
-    JvNewObjectArray(1, &java::lang::String::class$, JvNewStringLatin1("BoehmGC"));
-}
index 5a60097d698de0a48ad36bccccc77ccfc5e7e969..59a5915a5fe956034d9a265ad5b63c987f0b6882 100755 (executable)
@@ -22,6 +22,8 @@ proc verbose {text} {
 # * bc    objects in this package and all its sub-packages
 #         are to be compiled with the BC ABI.  It is an error
 #         for sub-packages to also appear in the map.
+# * bcheaders 
+#         as bc, but generate header files and compile with CNI.
 # * package
 #         objects in this package (and possibly sub-packages,
 #         if they do not appear in the map) will be compiled en masse
@@ -73,6 +75,10 @@ set package_map(javax/rmi) bc
 set package_map(org/omg) bc
 set package_map(gnu/CORBA) bc
 set package_map(gnu/javax/rmi) bc
+set package_map(gnu/java/lang/management) bcheaders
+set package_map(java/lang/management) bc
+set package_map(gnu/classpath/management) bc
+set package_map(gnu/javax/management) bc
 
 # parser/HTML_401F.class is really big, and there have been complaints
 # about this package requiring too much memory to build.  So, we
@@ -265,7 +271,11 @@ proc emit_bc_rule {package} {
     set omit "| grep -v $exclusion_map($package)"
   }
   puts  "\t@find \$(srcdir)/classpath/lib/$package -name '*.class'${omit} > $tname"
-  puts "\t\$(LTGCJCOMPILE) -fsource-filename=\$(here)/classpath/lib/classes -fjni -findirect-dispatch -fno-indirect-classes -c -o $loname @$tname"
+  puts -nonewline "\t\$(LTGCJCOMPILE) -fsource-filename=\$(here)/classpath/lib/classes "
+  if {$package_map($package) == "bc"} {
+    puts -nonewline "-fjni "
+  }
+  puts "-findirect-dispatch -fno-indirect-classes -c -o $loname @$tname"
   puts "\t@rm -f $tname"
   puts ""
 
@@ -461,6 +471,8 @@ foreach package [lsort [array names package_map]] {
 
   if {$package_map($package) == "bc"} {
     emit_bc_rule $package
+  } elseif {$package_map($package) == "bcheaders"} {
+    emit_bc_rule $package
   } elseif {$package_map($package) == "ordinary"} {
     emit_ordinary_rule $package
   } elseif {$package_map($package) == "package"} {
index cce44e11198c200731e2bc5459eabd08f77d0ba9..ce077f4c700b55c520b39304aeff8cefd42d207c 100644 (file)
@@ -223,7 +223,6 @@ gnu/awt/xlib.list: $(gnu_awt_xlib_source_files)
 
 gnu_classpath_source_files = \
 gnu/classpath/Configuration.java \
-classpath/gnu/classpath/ListenerData.java \
 classpath/gnu/classpath/NotImplementedException.java \
 classpath/gnu/classpath/Pointer.java \
 classpath/gnu/classpath/Pointer32.java \
@@ -1125,12 +1124,10 @@ gnu/java/lang/management/VMThreadMXBeanImpl.java
 
 gnu_java_lang_management_header_files = $(patsubst classpath/%,%,$(patsubst %.java,%.h,$(gnu_java_lang_management_source_files)))
 
-gnu/java/lang/management.list: $(gnu_java_lang_management_source_files)
-       @$(mkinstalldirs) $(dir $@)
-       echo $(srcdir)/classpath/lib/gnu/java/lang/management/*.class > gnu/java/lang/management.list
-
--include gnu/java/lang/management.deps
-
+gnu-java-lang-management.lo: $(gnu_java_lang_management_source_files)
+       @find $(srcdir)/classpath/lib/gnu/java/lang/management -name '*.class' > gnu-java-lang-management.list
+       $(LTGCJCOMPILE) -fsource-filename=$(here)/classpath/lib/classes -findirect-dispatch -fno-indirect-classes -c -o gnu-java-lang-management.lo @gnu-java-lang-management.list
+       @rm -f gnu-java-lang-management.list
 
 gnu_java_lang_reflect_source_files = \
 classpath/gnu/java/lang/reflect/ClassSignatureParser.java \
@@ -2879,16 +2876,13 @@ gnu/javax/imageio/png.list: $(gnu_javax_imageio_png_source_files)
 
 
 gnu_javax_management_source_files = \
+classpath/gnu/javax/management/ListenerData.java \
 classpath/gnu/javax/management/Server.java
 
-gnu_javax_management_header_files = $(patsubst classpath/%,%,$(patsubst %.java,%.h,$(gnu_javax_management_source_files)))
-
-gnu/javax/management.list: $(gnu_javax_management_source_files)
-       @$(mkinstalldirs) $(dir $@)
-       echo $(srcdir)/classpath/lib/gnu/javax/management/*.class > gnu/javax/management.list
-
--include gnu/javax/management.deps
-
+gnu-javax-management.lo: $(gnu_javax_management_source_files)
+       @find $(srcdir)/classpath/lib/gnu/javax/management -name '*.class' > gnu-javax-management.list
+       $(LTGCJCOMPILE) -fsource-filename=$(here)/classpath/lib/classes -fjni -findirect-dispatch -fno-indirect-classes -c -o gnu-javax-management.lo @gnu-javax-management.list
+       @rm -f gnu-javax-management.list
 
 gnu_javax_naming_giop_source_files = \
 classpath/gnu/javax/naming/giop/ContextContinuation.java \
@@ -4828,14 +4822,10 @@ classpath/java/lang/management/ThreadInfo.java \
 classpath/java/lang/management/ThreadMXBean.java \
 java/lang/management/VMManagementFactory.java
 
-java_lang_management_header_files = $(patsubst classpath/%,%,$(patsubst %.java,%.h,$(java_lang_management_source_files)))
-
-java/lang/management.list: $(java_lang_management_source_files)
-       @$(mkinstalldirs) $(dir $@)
-       echo $(srcdir)/classpath/lib/java/lang/management/*.class > java/lang/management.list
-
--include java/lang/management.deps
-
+java-lang-management.lo: $(java_lang_management_source_files)
+       @find $(srcdir)/classpath/lib/java/lang/management -name '*.class' > java-lang-management.list
+       $(LTGCJCOMPILE) -fsource-filename=$(here)/classpath/lib/classes -fjni -findirect-dispatch -fno-indirect-classes -c -o java-lang-management.lo @java-lang-management.list
+       @rm -f java-lang-management.list
 
 java_lang_ref_source_files = \
 classpath/java/lang/ref/PhantomReference.java \
@@ -8464,7 +8454,6 @@ all_packages_source_files = \
   gnu/java/awt/print.list \
   gnu/java/io.list \
   gnu/java/lang.list \
-  gnu/java/lang/management.list \
   gnu/java/lang/reflect.list \
   gnu/java/locale.list \
   gnu/java/math.list \
@@ -8542,7 +8531,6 @@ all_packages_source_files = \
   gnu/javax/imageio/gif.list \
   gnu/javax/imageio/jpeg.list \
   gnu/javax/imageio/png.list \
-  gnu/javax/management.list \
   gnu/javax/naming/giop.list \
   gnu/javax/naming/ictxImpl/trans.list \
   gnu/javax/naming/jndi/url/corbaname.list \
@@ -8596,7 +8584,6 @@ all_packages_source_files = \
   java/lang.list \
   java/lang/annotation.list \
   java/lang/instrument.list \
-  java/lang/management.list \
   java/lang/ref.list \
   java/lang/reflect.list \
   java/math.list \
@@ -8795,7 +8782,6 @@ ordinary_header_files = \
   $(gnu_javax_imageio_gif_header_files) \
   $(gnu_javax_imageio_jpeg_header_files) \
   $(gnu_javax_imageio_png_header_files) \
-  $(gnu_javax_management_header_files) \
   $(gnu_javax_naming_giop_header_files) \
   $(gnu_javax_naming_ictxImpl_trans_header_files) \
   $(gnu_javax_naming_jndi_url_corbaname_header_files) \
@@ -8844,7 +8830,6 @@ ordinary_header_files = \
   $(java_lang_header_files) \
   $(java_lang_annotation_header_files) \
   $(java_lang_instrument_header_files) \
-  $(java_lang_management_header_files) \
   $(java_lang_ref_header_files) \
   $(java_lang_reflect_header_files) \
   $(java_math_header_files) \
@@ -8937,7 +8922,9 @@ bc_objects = \
   gnu-java-awt-peer-gtk.lo \
   gnu-java-awt-peer-swing.lo \
   gnu-java-beans.lo \
+  gnu-java-lang-management.lo \
   gnu-java-util-prefs-gconf.lo \
+  gnu-javax-management.lo \
   gnu-javax-rmi.lo \
   gnu-javax-sound-midi.lo \
   gnu-xml-aelfred2.lo \
@@ -8949,6 +8936,7 @@ bc_objects = \
   gnu-xml-util.lo \
   gnu-xml-validation.lo \
   gnu-xml-xpath.lo \
+  java-lang-management.lo \
   javax-imageio.lo \
   javax-rmi.lo \
   javax-xml.lo \