From 2127637945ea6b763966398130e0770fa993c860 Mon Sep 17 00:00:00 2001 From: Mark Wielaard Date: Tue, 17 Jan 2006 18:09:40 +0000 Subject: Imported GNU Classpath 0.20 Imported GNU Classpath 0.20 * Makefile.am (AM_CPPFLAGS): Add classpath/include. * java/nio/charset/spi/CharsetProvider.java: New override file. * java/security/Security.java: Likewise. * sources.am: Regenerated. * Makefile.in: Likewise. From-SVN: r109831 --- libjava/classpath/doc/Makefile.in | 10 +- libjava/classpath/doc/README.jaxp | 5 +- libjava/classpath/doc/api/Makefile.in | 10 +- libjava/classpath/doc/hacking.texinfo | 73 +++++++- libjava/classpath/doc/vmintegration.texinfo | 42 ++++- .../classpath/doc/www.gnu.org/events/events.wml | 13 +- .../classpath/doc/www.gnu.org/events/fosdem06.wml | 191 +++++++++++++++++++++ libjava/classpath/doc/www.gnu.org/newsitems.txt | 5 + 8 files changed, 330 insertions(+), 19 deletions(-) create mode 100644 libjava/classpath/doc/www.gnu.org/events/fosdem06.wml (limited to 'libjava/classpath/doc') diff --git a/libjava/classpath/doc/Makefile.in b/libjava/classpath/doc/Makefile.in index 34bdbb1..77e60a9 100644 --- a/libjava/classpath/doc/Makefile.in +++ b/libjava/classpath/doc/Makefile.in @@ -41,10 +41,11 @@ DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in texinfo.tex ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/../../libtool.m4 \ $(top_srcdir)/m4/acattribute.m4 $(top_srcdir)/m4/accross.m4 \ - $(top_srcdir)/m4/acinclude.m4 $(top_srcdir)/m4/iconv.m4 \ - $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ - $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/pkg.m4 \ - $(top_srcdir)/configure.ac + $(top_srcdir)/m4/acinclude.m4 \ + $(top_srcdir)/m4/ax_create_stdint_h.m4 \ + $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/lib-ld.m4 \ + $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \ + $(top_srcdir)/m4/pkg.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs @@ -149,6 +150,7 @@ JAY = @JAY@ JAY_SKELETON = @JAY_SKELETON@ JIKES = @JIKES@ JIKESENCODING = @JIKESENCODING@ +JIKESWARNINGS = @JIKESWARNINGS@ KJC = @KJC@ LDFLAGS = @LDFLAGS@ LIBDEBUG = @LIBDEBUG@ diff --git a/libjava/classpath/doc/README.jaxp b/libjava/classpath/doc/README.jaxp index 12fd052..55a1df5 100644 --- a/libjava/classpath/doc/README.jaxp +++ b/libjava/classpath/doc/README.jaxp @@ -17,7 +17,7 @@ PACKAGES . gnu.xml.xpath.* ... JAXP XPath implementation . gnu.xml.transform.* ... JAXP XSL transformer implementation . gnu.xml.pipeline.* ... SAX2 event pipeline support -. gnu.xml.stream.* ... StAX pull parser implementation +. gnu.xml.stream.* ... StAX pull parser and SAX-over-StAX driver . gnu.xml.util.* ... various XML utility classes . gnu.xml.libxmlj.dom.* ... libxmlj DOM Level 3 Core and XPath . gnu.xml.libxmlj.sax.* ... libxmlj SAX parser @@ -139,6 +139,9 @@ To enable the various GNU JAXP factories, set the following system properties -Djavax.xml.stream.XMLInputFactory=gnu.xml.stream.XMLInputFactoryImpl -Djavax.xml.stream.XMLOutputFactory=gnu.xml.stream.XMLOutputFactoryImpl + GNU SAX-over-StAX: + -Djavax.xml.parsers.SAXParserFactory=gnu.xml.stream.SAXParserFactory + libxmlj SAX: -Djavax.xml.parsers.SAXParserFactory=gnu.xml.libxmlj.sax.GnomeSAXParserFactory diff --git a/libjava/classpath/doc/api/Makefile.in b/libjava/classpath/doc/api/Makefile.in index dafdd41..e2e0a1a 100644 --- a/libjava/classpath/doc/api/Makefile.in +++ b/libjava/classpath/doc/api/Makefile.in @@ -42,10 +42,11 @@ DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/../../libtool.m4 \ $(top_srcdir)/m4/acattribute.m4 $(top_srcdir)/m4/accross.m4 \ - $(top_srcdir)/m4/acinclude.m4 $(top_srcdir)/m4/iconv.m4 \ - $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ - $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/pkg.m4 \ - $(top_srcdir)/configure.ac + $(top_srcdir)/m4/acinclude.m4 \ + $(top_srcdir)/m4/ax_create_stdint_h.m4 \ + $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/lib-ld.m4 \ + $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \ + $(top_srcdir)/m4/pkg.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs @@ -142,6 +143,7 @@ JAY = @JAY@ JAY_SKELETON = @JAY_SKELETON@ JIKES = @JIKES@ JIKESENCODING = @JIKESENCODING@ +JIKESWARNINGS = @JIKESWARNINGS@ KJC = @KJC@ LDFLAGS = @LDFLAGS@ LIBDEBUG = @LIBDEBUG@ diff --git a/libjava/classpath/doc/hacking.texinfo b/libjava/classpath/doc/hacking.texinfo index e97116f..34b1099 100644 --- a/libjava/classpath/doc/hacking.texinfo +++ b/libjava/classpath/doc/hacking.texinfo @@ -83,6 +83,11 @@ Programming Standards Working on the code, Working with others +* Branches:: +* Writing ChangeLogs:: + +Working with branches + * Writing ChangeLogs:: Programming Goals @@ -493,7 +498,7 @@ The following lists how code is formatted (and some other code conventions): -@itemize +@itemize @bullet @item Java source files in GNU Classpath are encoded using UTF-8. However, @@ -689,7 +694,7 @@ fail to compile the offending source code. Some things are the same as in the normal GNU Coding Standards: -@itemize +@itemize @bullet @item Unnecessary braces can be removed, one line after an if, for, while as @@ -807,10 +812,70 @@ followed to be the most productive they can be (given the above constraints). @menu +* Branches:: +* Writing ChangeLogs:: +@end menu + +@node Branches, Writing ChangeLogs, Hacking Code, Hacking Code +@comment node-name, next, previous, up +@section Working with branches + +Sometimes it is necessary to create branch of the source for doing new +work that is disruptive to the other hackers, or that needs new +language or libraries not yet (easily) available. + +After discussing the need for a branch on the main mailinglist with +the other hackers explaining the need of a branch and suggestion of +the particular branch rules (what will be done on the branch, who will +work on it, will there be different commit guidelines then for the +mainline trunk and when is the branch estimated to be finished and +merged back into the trunk) every GNU Classpath hacker with commit +access should feel free to create a branch. There are however a couple +of rules that every branch should follow: + +@itemize @bullet + +@item All branches ought to be documented in the developer wiki at +@uref{http://developer.classpath.org/mediation/ClasspathBranches}, so +we can know which are live, who owns them, and when they die. + +@item Some rules can be changed on a branch. In particular the branch +maintainer can change the review requirements, and the requirement of +keeping things building, testing, etc, can also be lifted. (These +should be documented along with the branch name and owner if they +differ from the trunk.) + +@item Requirements for patch email to classpath-patches and for paperwork +@strong{cannot} be lifted. See @ref{Requirements}. + +@item A branch should not be seen as ``private'' or +``may be completely broken''. It should be as much as possible +something that you work on with a team (and if there is no team - yet +- then there is nothing as bad as having a completely broken build to +get others to help out). There can of course be occasional breakage, but +it should be planned and explained. And you can certainly have a rule +like ``please ask me before committing to this branch''. + +@item Merges from the trunk to a branch are at the discretion of the +branch maintainer. + +@item A merge from a branch to the trunk is treated like any other patch. +In particular, it has to go through review, it must satisfy all the +trunk requirements (build, regression test, documentation). + +@item There may be additional timing requirements on merging a branch to +the trunk depending on the release schedule, etc. For instance we may +not want to do a branch merge just before a release. + +@end itemize + +If any of these rules are unclear please discuss on the list first. + +@menu * Writing ChangeLogs:: @end menu -@node Writing ChangeLogs, , Hacking Code, Hacking Code +@node Writing ChangeLogs, , Branches, Hacking Code @comment node-name, next, previous, up @section Documenting what changed when with ChangeLog entries @@ -828,7 +893,7 @@ A good ChangeLog entry guideline can be found in the Guile Manual at Here are some example to explain what should or shouldn't be in a ChangeLog entry (and the corresponding commit message): -@itemize +@itemize @bullet @item The first line of a ChangeLog entry should be: diff --git a/libjava/classpath/doc/vmintegration.texinfo b/libjava/classpath/doc/vmintegration.texinfo index 81e9920..fa5f747 100644 --- a/libjava/classpath/doc/vmintegration.texinfo +++ b/libjava/classpath/doc/vmintegration.texinfo @@ -226,6 +226,7 @@ become operable. * java.lang.VMRuntime:: * java.lang.VMString:: * java.lang.VMThread:: +* java.lang.VMInstrumentationImpl:: @end menu @node java.lang.VMClass, java.lang.VMObject ,java.lang,java.lang @@ -607,7 +608,7 @@ A new mapping is created for each new string being @code{intern}ed. A VM may implement this differently by implementing this method, which is @code{static} and the only one in @code{VMString}. -@node java.lang.VMThread,, java.lang.VMString, java.lang +@node java.lang.VMThread,java.lang.VMInstrumentationImpl, java.lang.VMString, java.lang @subsection @code{java.lang.VMThread} @code{VMThread} provides the link between Java's threads and the platform @@ -683,6 +684,45 @@ having returned true, and is thus deprecated as a result. @end itemize @end itemize +@node java.lang.VMInstrumentationImpl,, java.lang.VMThread, java.lang +@subsection @code{java.lang.VMInstrumentationImpl} + +The @code{java.lang.VMInstrumentationImpl} and +@code{java.lang.InstrumentationImpl} provides an implementation of the +@code{java.lang.instrument.Instrument} interface. This interface is for java +1.5 and is only in the generics branch. +A @code{InstrumentationImpl} object should be given to any agent +given in the command line (see the @code{java.lang.instrument} package +documentation). A VM has to implement the static native methods of the +@code{VMInstrumentationImpl} class. + +@itemize @bullet +@item @code{isRedefineClassesSupported()} -- Returns true if the JVM supports +class redefinition. +@item @code{redefineClasses()} -- Gives a set of classes with new bytecodes. +The VM must redefine the classes by reading the new bytecodes. +@item @code{getAllLoadedClass()} -- Returns an array of all loaded classes. +@item @code{getInitiatedClass()} -- Returns an array of all classes loaded +by a specific class loader. +@item @code{getObjectSize()} -- Gives the size of an object. +@end itemize + +When agents are defined, the VM has to call transformers of the +@code{InstrumentImpl} object each time a class is loaded, eg a call to +@code{VMClassLoader.defineClass}. The @code{InstrumentationImpl} class defines +a method that has to be called before reading a class file in the VM. + +@itemize @bullet +@item @code{callTransformers} -- Calls each transformer registered to +the @code{InstrumentationImpl} object and returns a new bytecode file. +@end itemize + +No default implementation is provided in gnu classpath for the +@code{VMInstrumentationImpl} methods. A default implementation will perhaps +be written, but it might break the @code{ClassLoader/VMClassLoader} interface +for calling the @code{InstrumentationImpl.callTransformers} when a class byte +code is defined with @code{ClassLoader.defineClass}. + @node gnu.classpath, java.util, java.lang, Classpath Hooks @section @code{gnu.classpath} diff --git a/libjava/classpath/doc/www.gnu.org/events/events.wml b/libjava/classpath/doc/www.gnu.org/events/events.wml index 873d4fa..7d9514b 100644 --- a/libjava/classpath/doc/www.gnu.org/events/events.wml +++ b/libjava/classpath/doc/www.gnu.org/events/events.wml @@ -9,11 +9,7 @@ Upcoming Events:
@@ -22,6 +18,13 @@ Tom Tromey