+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.
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 \
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 \
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 \
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 \
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 =
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 \
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 \
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 \
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 \
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 \
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 \
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 \
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 \
$(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) \
$(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) \
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 \
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 \
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/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)
-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)
@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@
-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
-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)
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
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
-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 $@)
-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 $@)
-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 $@)
+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>
+++ /dev/null
-/* 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;
- }
-
-}
package gnu.java.lang.management;
-import gnu.classpath.ListenerData;
+import gnu.javax.management.ListenerData;
import java.lang.management.MemoryMXBean;
import java.lang.management.MemoryNotificationInfo;
--- /dev/null
+/* 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;
+ }
+
+}
package javax.management;
-import gnu.classpath.ListenerData;
+import gnu.javax.management.ListenerData;
import gnu.classpath.SystemProperties;
import java.net.InetAddress;
+++ /dev/null
-
-// 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__
--- /dev/null
+
+// 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__
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.
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);
+ }
+ }
}
/* 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.
*
* @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
*
* @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
*
* @return a list of garbage collector names.
*/
- static native String[] getGarbageCollectorNames();
+ static String[] getGarbageCollectorNames()
+ {
+ String[] result = {"BoehmGC"};
+ return result;
+ }
}
+++ /dev/null
-/* 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"));
-}
# * 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
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
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 ""
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"} {
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 \
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 \
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 \
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 \
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 \
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 \
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 \
$(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) \
$(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) \
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 \
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 \