Re: File listing supported properties in GNU classpath
On Mar 13, 2006, at 3:42 PM, Tom Tromey wrote: "Mark" == Mark Wielaard <[EMAIL PROTECTED]> writes: how about adding a new file which lists all our supported properties. Currently this information about our properties (for swing, graphics2D, rmi, corba) are spread over all parts of the NEWS file. Mark> Good idea. There is also a (probably also incomplete) list of properties Mark> at http://gcc.gnu.org/onlinedocs/gcj/System-properties.html Mark> Maybe you could start with that (see gcj.texi in the gcc sources)? Yeah, this is a good idea. It seems like something worth automating; either automating the extraction like javadoc, or at least automated checking so that we don't have documentation regressions. The Jessie library uses a bunch of Security properties to control its run-time behavior; these are documented in the Jessie manual, but should be put into Classpath's documentation now. GNU Crypto also uses a few properties, but in their own file. These should also be documented, or maybe deprecated in favor of System or Security properties.
Re: File listing supported properties in GNU classpath
> "Mark" == Mark Wielaard <[EMAIL PROTECTED]> writes: >> how about adding a new file which lists all our supported properties. >> Currently this information about our properties (for swing, graphics2D, >> rmi, corba) are spread over all parts of the NEWS file. Mark> Good idea. There is also a (probably also incomplete) list of properties Mark> at http://gcc.gnu.org/onlinedocs/gcj/System-properties.html Mark> Maybe you could start with that (see gcj.texi in the gcc sources)? Yeah, this is a good idea. It seems like something worth automating; either automating the extraction like javadoc, or at least automated checking so that we don't have documentation regressions. Tom
Re: RFC: VMClassLoader changes proposition
Olivier Jolly wrote: So basically, I'm asking about your thought on how to make the boot class loader (which is out of range of classpath) defines packages as it load classes. JCVM doesn't have any support for Packages, so any general-use code that gets added to Classpath and can save me work has my vote :-) -Archie __ Archie Cobbs *CTO, Awarix* http://www.awarix.com
RFC: VMClassLoader changes proposition
Hi, it seems to me that there is a missing/incomplete feature in the VMClassLoader. For now, the vm implementation are not encouraged, helped nor told to define packages in which classes are loaded from when the boot class loader is defining them. Notably, this makes such that java.lang package is not defined (i.e. basically getPackage on the VMClassLoader for "java.lang" is null) I spent my week end trying to hack cacao to call a new VMClassLoader method (definePackageIfNeeded) in the native implementation of VMClassLoader.loadClass. I had to skip this call when the loaded class was coming from java.lang.** since the definePackageIfNeeded was using java.lang.** classes and we would run into an infinite loop else. The definePackageIfNeeded is taking a class name as parameter and extract the package name and then defines the package using default values for vendor and such (like the reference of VMClassLoader) if it's not defined yet. Since java.lang.** packages can not be defined by this method, I overrided the getBootPackages reference method to return the java.lang.** packages (which are then defined by the ) Please find attached the hack I did on my environment (which I do not consider to be usable but a working proof of concept) as a support of my explanations. So basically, I'm asking about your thought on how to make the boot class loader (which is out of range of classpath) defines packages as it load classes. TIA, cheers +Olivier P.S: the signature of definePackageIfNeeded is a String[] instead of a String because I did not manage to call the String version from cacao code, but it should be a simple String. Index: src/native/vm/VMClassLoader.c === --- src/native/vm/VMClassLoader.c (révision 4586) +++ src/native/vm/VMClassLoader.c (copie de travail) @@ -259,12 +259,45 @@ { classinfo *c; utf *u; - + methodinfo *m; + classinfo *vmclclass; + char askedname[1024]; + int i = 0; + java_objectarray *oa; + if (!name) { exceptions_throw_nullpointerexception(); return NULL; } + m = NULL; + + vmclclass = NULL; + + for (i = 0; i < name->value->header.size; i++) { + askedname[i] = name->value->data[i]; + } + askedname[i] = '\0'; + + fprintf(stderr, " -> calling loadClass on %s <-\n", askedname); + fflush(stderr); + + oa = builtin_anewarray(1, class_java_lang_String); + oa->data[0] = (java_objectheader *) javastring_new(utf_new_char(askedname)); + + if (strncmp(askedname, "java.lang.", 10)) + vmclclass = load_class_from_sysloader(utf_new_char("java.lang.VMClassLoader")); + + if (vmclclass) { + fprintf(stderr, "Found VMClassLoader class\n"); + fflush(stderr); + m = class_resolveclassmethod(vmclclass, + utf_new_char("definePackageIfNotDefined"), + utf_new_char("([Ljava/lang/String;)V"), + class_java_lang_Object, + false); + } + /* create utf string in which '.' is replaced by '/' */ u = javastring_toutf(name, true); @@ -274,6 +307,11 @@ if (!(c = load_class_bootstrap(u))) goto exception; + if (m) { + fprintf(stderr, "Calling definePackageIfNotDefined for %s\n", askedname); + fflush(stderr); + vm_call_method(m, NULL, oa); + } /* resolve class -- if requested */ /* XXX TWISTI: we do not support REAL (at runtime) lazy linking */ /* if (resolve) { */ Index: src/lib/vm/reference/java/lang/VMClassLoader.java === --- src/lib/vm/reference/java/lang/VMClassLoader.java (révision 4586) +++ src/lib/vm/reference/java/lang/VMClassLoader.java (copie de travail) @@ -259,7 +259,7 @@ */ private static String[] getBootPackages() { -return new String[0]; +return new String[] {"java.lang", "java.lang.ref", "java.lang.reflect"}; } @@ -405,4 +405,35 @@ return defineClass(loader, name, data, offset, len, pd); //} } + + static final void definePackageIfNotDefined(String[] classNameArray) { + System.err.println("called definePackageIfNotDefined with an array of size " + classNameArray.length); + for (int i = 0; i < classNameArray.length; i++) { + String className = classNameArray[i]; + int lastDot = className.lastIndexOf('.'); + System.err.println("called definePackageIfNotDefined for <" + + className + ">, [" // + className.length() + + "] lastDot = " + lastDot); + if (lastDot != -1 && className.length() > 0) { +String packageName = className.substring(0, lastDot); +// Look if the package already exists +if (getPackage(packageName) == null) { + String specName = SystemProperties + .getProperty("java.specification.name"); + String vendor = SystemProperties + .getProperty("java.specification.vendor"); + String version = SystemProperties + .getProperty("java.specification.version"); + + Package p; + + p = new Package(packageName, specName, vendor, version, + "GNU Classpat
Re: File listing supported properties in GNU classpath
Hi Wolgang, On Mon, 2006-03-13 at 20:30 +0100, Wolfgang Baer wrote: > how about adding a new file which lists all our supported properties. > Currently this information about our properties (for swing, graphics2D, > rmi, corba) are spread over all parts of the NEWS file. Good idea. There is also a (probably also incomplete) list of properties at http://gcc.gnu.org/onlinedocs/gcj/System-properties.html Maybe you could start with that (see gcj.texi in the gcc sources)? Cheers, Mark signature.asc Description: This is a digitally signed message part
File listing supported properties in GNU classpath
Hi all, how about adding a new file which lists all our supported properties. Currently this information about our properties (for swing, graphics2D, rmi, corba) are spread over all parts of the NEWS file. What do you think about consolidating this information ? Filename proposals are also welcome ! Wolfgang
Re: New and improved rpmless aot-compile-rpm
A bug: running install_lib copying build/lib/aotcompile.py -> usr/lib/python2.4/site-packages needs to be /usr/lib/python2.4/site-packages Andrew.
Re: New and improved rpmless aot-compile-rpm
Gary Benson writes: > Hi all, > > These last few days I've been working on improving aot-compile-rpm. > > The first improvement is the long promised abstraction of the non- > rpm-specific bits: aot-compile-rpm is now joined by a command-line > driven brother, aot-compile, which otherwise does exactly the same > thing. This will hopefully be nice for any of you Debian guys who > want to BC-compile your packages for gcj. > > The second improvement is that instead of invoking gcj itself, aot- > compile and aot-compile-rpm generate makefiles and invoke make on > them. This is of little consequence to aot-compile-rpm, however > aot-compile allows you to pass flags to make, so you can pass it > -j2 and have a faster build. > > ftp://sources.redhat.com/pub/rhug/java-gcj-compat-1.0.53.tar.gz TVM, looks good. The Debians have this now. Do you intend to put this into the Fedora RPM? Thanks, Andrew.
Re: Jazelle
Philippe Laporte writes: > Andrew Haley wrote: > > >Philippe Laporte writes: > > > > > I would appreciate if you could share some thoughts and/or > > > knowledge about Jazelle and its performance and adoption. > > > >Well, it's a proprietary bytecode accelerator for a proprietary > >embedded Java platform. I'm not aware there is any free software that > >supports it. > > Hej, > Alright, that I knew :-) thanks. > > So for a free-VM to support, it would have to be a non-Free release I > guess since the ARM license is actually joint with the Sun one... Well, I don't know anything about that. If there were publicly available hardware, then someone could do a port. Technically speaking it's an interesting idea. A compromise between full-on super-optimized JIT compilation and slow interpretation surely makes sense in many application areas. Andrew.
Re: Jazelle
Philippe Laporte writes: > I would appreciate if you could share some thoughts and/or > knowledge about Jazelle and its performance and adoption. Well, it's a proprietary bytecode accelerator for a proprietary embedded Java platform. I'm not aware there is any free software that supports it. Andrew.
FOSDEM: slides from JamVM talk
Hi, Roman has kindly uploaded the slides from my talk to the Wiki (see http://developer.classpath.org/mediation/Fosdem2006). Thanks, Rob. P.S. There's one obvious mistake on slide 2. The release date of JamVM 1.4.2 should be 2006 not 2005!
Re: Jazelle
Hej, Alright, that I knew :-) thanks. So for a free-VM to support, it would have to be a non-Free release I guess since the ARM license is actually joint with the Sun one... Regards, Philippe Laporte Software Gatespace Telematics Första Långgatan 18 41328 Göteborg Sweden Phone: +46 702 04 35 11 Fax: +46 31 24 16 50 Email: [EMAIL PROTECTED] Andrew Haley wrote: Philippe Laporte writes: > I would appreciate if you could share some thoughts and/or > knowledge about Jazelle and its performance and adoption. Well, it's a proprietary bytecode accelerator for a proprietary embedded Java platform. I'm not aware there is any free software that supports it. Andrew.
Jazelle
Hi, I would appreciate if you could share some thoughts and/or knowledge about Jazelle and its performance and adoption. Thanks a lot, -- Philippe Laporte Software Gatespace Telematics Första Långgatan 18 41328 Göteborg Sweden Phone: +46 702 04 35 11 Fax: +46 31 24 16 50 Email: [EMAIL PROTECTED]
Re: FOSDEM donation
Mark Wielaard wrote: Hi Michael, On Sat, 2006-03-11 at 12:10 -0700, Tom Tromey wrote: Michael> After some discussion we decided to donate the money to the FOSDEM Michael> organization team. We have got a donation certificate for this for Michael> evidence. Michael> I hope this was okay with all people. You did the right thing. If it weren't for the FOSDEM organizers, we would end up having to organize a meeting on our own -- which, clearly, would be way too much work. I think they do a great job and I'm glad we could give something back collectively. I completely agree with Tom! I am glad we gave something back to the Fosdem organization. Thanks, Mark Me too! Thanks Michael for the good initiative... Regards, Dave
[Bug swing/23503] error when displaying empty window with bound larger than the displayed content
--- Comment #6 from mark at gcc dot gnu dot org 2006-03-13 09:04 --- (In reply to comment #5) > I have the same error message, but trying to run MT504(Mozilla Translator). > I installed the libgcj6-awt library to run .jar file of MT > http://ftp.mozilla.org/pub/mozilla.org/l10n-kits/mt504.zip > I have Ubuntu Breezy correctly upgraded. > > any idea? You need at least libgcj 4.1 installed. But only with the latest development version (4.2 from subversion with integrated GNU Classpath 0.90) does Mozilla Translator actually work (a bit). This would be a good program to get working fully. Could you open a new bug report for this program? -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23503 ___ Bug-classpath mailing list Bug-classpath@gnu.org http://lists.gnu.org/mailman/listinfo/bug-classpath
Re: FOSDEM donation
Hi Michael, On Sat, 2006-03-11 at 12:10 -0700, Tom Tromey wrote: > Michael> After some discussion we decided to donate the money to the FOSDEM > Michael> organization team. We have got a donation certificate for this for > Michael> evidence. > > Michael> I hope this was okay with all people. > > You did the right thing. If it weren't for the FOSDEM organizers, we > would end up having to organize a meeting on our own -- which, > clearly, would be way too much work. I think they do a great job and > I'm glad we could give something back collectively. I completely agree with Tom! I am glad we gave something back to the Fosdem organization. Thanks, Mark signature.asc Description: This is a digitally signed message part
Re: J2ME - based on classpath
Hi Christian, On Fri, 2006-03-10 at 23:44 +0100, Christian Thalinger wrote: > On Fri, 2006-03-10 at 15:10 -0700, Tom Tromey wrote: > > We'll need to get through the paperwork hurdles -- but we'll need to > > do that no matter what, if you want to eventually merge this code in. > > I think too the Classpath repository is the best location. The > paperwork shouldn't be a problem, as Michal already did it for gforth. > However, let's do that ASAP. Mark, can you send the form to Michal? Paperwork sent. Thanks for the reminder. Mark signature.asc Description: This is a digitally signed message part