Re: [kaffe] assertion pool-num_free_nodes != 0 failed
On Sun, 24 Aug 2003 12:34:33 -0400 Greg Wooledge [EMAIL PROTECTED] wrote: Since Helmer fixed a memory leak, I've decided to give Kaffe+Freenet another whirl. The good news is, it's MUCH more stable than 1.1.0 was. I've actually had it running for many hours without sucking up all the memory it can find. (It still seems to grow in small bursts every once in a while, but it's hard to say whether that's a memory leak or just another Freenet feature kicking in.) I'm still seeing that too. My theory is that it's due to extremely excessive small block fragmentation - I'm adding a bunch of debugging code to try to get some better data. Cheers, - Jim ___ kaffe mailing list [EMAIL PROTECTED] http://kaffe.org/cgi-bin/mailman/listinfo/kaffe
Re: [kaffe] Re: make check fails
On Sun, 24 Aug 2003 13:02:31 +0900 Ito Kazumitsu [EMAIL PROTECTED] wrote: I am afraid this cannot be ignored. Since the killer process was introduced to TestScript, something has changed. wc.java has // java args: wc $1. But it seems that this $1 does not work properly. Oops. I guess I broke it. I don't know why I didn't catch it. I've checked in a fix. Thanks for the alert! Cheers, - Jim ___ kaffe mailing list [EMAIL PROTECTED] http://kaffe.org/cgi-bin/mailman/listinfo/kaffe
Re: [kaffe] Kaffe Party/Documentation/Tools/Pizza/Development fund?
Toad wrote: So the question I wonder about is whether money would be of any use to a different project, one that I personally would give moderate amounts if it produced a clear benefit. Since what we did is out of the question, not having an unemployable programmer in your mist (stupid me for not going to university... I'd have fucked it up though...), is there anything else that it could be used for? I can think of lots of fun ways to blow some money. Some ideas: t-shirts, mugs, pizza, beer, hardware. I'm not sure how to make that translate into a clear benefit (eg. quality code) though. Beer might actually be counter-productive. :-) We could try to do some marketing - eg. go to various conferences and do presentations. That might attract some more developers. I remember that, a few years ago, cosource.com seemed had a tiny bit of momentum doing the free software bounty thing, but it seems to have died. If somebody did want to give money, I'm sure some contributors might be able to use it. Since a lot of work is being done on Kaffe in an academic environment, maybe a scholarship would be a nice thing to be able to offer to some starving student... Well, I would like to give some money, if there was a use for it. What's a scholarship, exactly? Paying the full $50,000 tuition fees for somebody to go through uni? That could pay my personal salary for three years, or a typical UK programmer's for a year. So I presume you meant something else :) The only scholarship I ever got was one-time grant of $2500 (CDN$) from the British Columbia government when I got out of high school. Every bit helps - that's equivalent to a lot of hours of working at Starbucks for minimum wage. I think grants to non-students would be cool too. Personally, I'm not too motivated to set up anything that involves paperwork. But if somebody wants to put up some seed money for a grant or scholarship of some sort, and it could be done through some other organization (eg. Freenet, FSF, SPI, OSDL, OPG, etc.), I think that would be really cool. We could definitely do a webpage for it and/or an announcement. Cheers, - Jim ___ kaffe mailing list [EMAIL PROTECTED] http://kaffe.org/cgi-bin/mailman/listinfo/kaffe
Re: Please don't post Microsoft Windows Viruses or Worms to the mailing list (Was: Re: [kaffe] Your details)
On Tue, 19 Aug 2003 17:03:12 -0700 Jim White [EMAIL PROTECTED] wrote: I'm getting a slew of those bogus emails, but at least my system won't be sending any. Yeah, there's 147 messages in the moderation queue right now. :-( We're just moderating posts that appear to come from people not on the list. If a worm is going to be smart enough to harvest emails from the mailing list archives, and use those to fake posts to the list, mailman is going to let those through. I might have to add some additional layers of defenses... Cheers, - Jim ___ kaffe mailing list [EMAIL PROTECTED] http://kaffe.org/cgi-bin/mailman/listinfo/kaffe
Re: Please don't post Microsoft Windows Viruses or Worms to the mailing list (Was: Re: [kaffe] Your details)
On Wed, 20 Aug 2003 17:47:49 +0200 Dalibor Topic [EMAIL PROTECTED] wrote: Hi Jim, Jim Pick wrote: On Tue, 19 Aug 2003 17:03:12 -0700 Jim White [EMAIL PROTECTED] wrote: I'm getting a slew of those bogus emails, but at least my system won't be sending any. Yeah, there's 147 messages in the moderation queue right now. :-( We're just moderating posts that appear to come from people not on the list. If a worm is going to be smart enough to harvest emails from the mailing list archives, and use those to fake posts to the list, mailman is going to let those through. I might have to add some additional layers of defenses... would it be possible to automatically block bounce e-mails with attachments that are windows executables (PIF, EXE, VBS, whetever they have on that weird platform)? I enabled the system_filter.exim filter in my Exim config, which should get rid of most of the nasty attachments. Hopefully it works - tell me if you see legitimate email getting bounced. Cheers, - Jim ___ kaffe mailing list [EMAIL PROTECTED] http://kaffe.org/cgi-bin/mailman/listinfo/kaffe
Re: [kaffe] loginfo script problems
On Sat, 16 Aug 2003 08:50:07 -0700 Jim Pick [EMAIL PROTECTED] wrote: I've added some matching code / sanity checks to the script, so hopefully it will send the right patch for the commit now. And, I just added some code to truncate the subject line of the email to 80 characters. :-) Cheers, - Jim ___ kaffe mailing list [EMAIL PROTECTED] http://kaffe.org/cgi-bin/mailman/listinfo/kaffe
Re: [kaffe] kaffe.util.SupportDisabled: GNU gmp was not found by Kaffe configure script
On Sat, 16 Aug 2003 16:26:24 +0200 Dalibor Topic [EMAIL PROTECTED] wrote: Jim Pick wrote: Hi, I've encountered this a few times. It happens the first time I run Kaffe when I've been installing Kaffe on a new system: kaffe.util.SupportDisabled: GNU gmp was not found by Kaffe configure script It's because the gmp development package wasn't configured. I'd prefer it if Kaffe bailed out at configure time when it can't find gmp, unless I specifically override looking for gmp. Hi Jim, it should just proceed to use the pure java implementation in the case where it can'z find GNU gmp (at least I though I had taught the configure.in that trick). I disagree on that. We should pick one implementation as the default, and the other one should be available, but it should not be used as an automatic fallback for the case where the configure checks for the default fail. That violates the principle of least surprise. People should get the implementation that they are expecting. If somebody wants the alternate implementation, they should have to explicitly ask for it. We might have different defaults depending on the platform, though. What did your configure.log's checks for GNU mp look like, i.e. which ones failed? ac_cv_header_gmp_h=no ac_cv_lib_gmp___gmpz_get_d=no ac_cv_lib_gmp_mpz_get_d=no These were supposed to fail, of course, because the -dev package for gmp wasn't installed. Cheers, - Jim ___ kaffe mailing list [EMAIL PROTECTED] http://kaffe.org/cgi-bin/mailman/listinfo/kaffe
Re: [kaffe] loginfo script problems
On Fri, 15 Aug 2003 19:21:23 -0700 Jim Pick [EMAIL PROTECTED] wrote: On Fri, 15 Aug 2003 12:15:27 -0700 Jim Pick [EMAIL PROTECTED] wrote: Hi, I can see we're going to have problems with the loginfo script emails when there are clusters of commits together - it incorrectly uses the last commit when it sends the emails (as they tend to be delayed). Please bear with me until I can put some smarter logic into it... Oops. It looks like every cvs add of a directory was masquerading as a commit. I think I've fixed that now. I've added some matching code / sanity checks to the script, so hopefully it will send the right patch for the commit now. Cheers, - Jim ___ kaffe mailing list [EMAIL PROTECTED] http://kaffe.org/cgi-bin/mailman/listinfo/kaffe
[kaffe] kaffe.util.SupportDisabled: GNU gmp was not found by Kaffe configure script
Hi, I've encountered this a few times. It happens the first time I run Kaffe when I've been installing Kaffe on a new system: kaffe.util.SupportDisabled: GNU gmp was not found by Kaffe configure script It's because the gmp development package wasn't configured. I'd prefer it if Kaffe bailed out at configure time when it can't find gmp, unless I specifically override looking for gmp. Cheers, - Jim ___ kaffe mailing list [EMAIL PROTECTED] http://kaffe.org/cgi-bin/mailman/listinfo/kaffe
Re: [kaffe] loginfo script problems
On Fri, 15 Aug 2003 12:15:27 -0700 Jim Pick [EMAIL PROTECTED] wrote: Hi, I can see we're going to have problems with the loginfo script emails when there are clusters of commits together - it incorrectly uses the last commit when it sends the emails (as they tend to be delayed). Please bear with me until I can put some smarter logic into it... Oops. It looks like every cvs add of a directory was masquerading as a commit. I think I've fixed that now. Cheers, - Jim ___ kaffe mailing list [EMAIL PROTECTED] http://kaffe.org/cgi-bin/mailman/listinfo/kaffe
Re: [kaffe] completed bytecode verifier!
This seems to be taking more than a few days to fix, so I added -noverify so we can build the regression tests. It's only temporary - we'll remove it when the verifier is happier with kjc. Cheers, - Jim On Thu, 07 Aug 2003 11:56:15 -0400 (EDT) Rob Gonzalez [EMAIL PROTECTED] wrote: Hi Tim, I'm working on fixing the problem with KJC now. The problem is that the core kaffe classes are failing verification...if you run KJC with -verifyremote and not with -verify it should work. Rob On Thu, 7 Aug 2003, Timothy Stack wrote: Hi all, I just committed the bytecode verifier. It's a huge chunk of code and it's very likely that there are little bugs lurking around in it...I can't even count how many off-by-one errors I had during development. make check-TESTS make[1]: Entering directory `/z/stack/tmp0/kbuild/test/regression' PASS: HelloWorldApp.class.save error compiling: java.lang.NoClassDefFoundError: Lat/dms/kjc/KjcSignatureParser; No stacktrace available FAIL: HelloWorldApp.java error compiling: java.lang.NoClassDefFoundError: Lat/dms/kjc/KjcSignatureParser; No stacktrace available FAIL: TestIntLong.java error compiling: java.lang.NoClassDefFoundError: Lat/dms/kjc/KjcSignatureParser; No stacktrace available - The new instruction cannot be used to create an instance of an abstract class. This should be checked, but it cannot be checked by the verifier because the verifier cannot load classes unless they are necessary for type checking. Thus if the type of class created by the new instruction is not loaded, there's no way to check if it's abstract. This should be checked in code-analyse. This isn't done for the sake of binary compatibility. For example, if a base class adds an abstract method, you don't want to screw up any subclasses in different packages if the method isn't going to be called. Instead, you wait until it actually is called and throw an AbstractMethodError. Cheers, Rob tim ___ kaffe mailing list [EMAIL PROTECTED] http://kaffe.org/cgi-bin/mailman/listinfo/kaffe ___ kaffe mailing list [EMAIL PROTECTED] http://kaffe.org/cgi-bin/mailman/listinfo/kaffe ___ kaffe mailing list [EMAIL PROTECTED] http://kaffe.org/cgi-bin/mailman/listinfo/kaffe
Re: [kaffe] Kaffe as the main JVM
On Tue, 12 Aug 2003 15:59:11 +0200 jerome moliere [EMAIL PROTECTED] wrote: Hi all, I know kaffe for a while, but I'm about delivering a report for a huge french institution seraching for a lightt JVM enough to be linked from their website able to launch their applets. Code is Java 1.1 (awt, .net, .io) so kaffe could make the stuff... But what about the process of running kaffe without the cygwin stuff ? Because I can't ask customers to download install the cygwin package.. So is it possible to compile the kaffe code against the native MFC code (Win32 API)... I guess that the answer is no but I must be sure If not, it means that there's no way to deliver an open source JVM on the windows desktop (for non developers :)) Back when Transvirtual was still around, I manage to get their internal version of kaffe (not the kaffe.org version) to build with mingw32, but they already had a Win32 port. So if anybody wants to work on getting the kaffe.org version to work without the cygwin emulation layer, it might be worth digging stuff out of the Transvirtual version. Cheers, - Jim ___ kaffe mailing list [EMAIL PROTECTED] http://kaffe.org/cgi-bin/mailman/listinfo/kaffe
Re: [kaffe] Re: GNU classpath and AWT
On 14 Aug 2003 12:28:33 -0600 Tom Tromey [EMAIL PROTECTED] wrote: James == James Simmons [EMAIL PROTECTED] writes: James Yes. Actually there is alot ot work on. I like to see James multimedia truly supported in Kaffe. Let me make a plea for new packages and such to be written in Classpath, not kaffe. My belief is that there aren't enough free software java hackers for us to spend time rewriting bits. Instead we should, wherever possible, share efforts. This isn't always possible due to different goals, histories, etc. But it seems to me that the library is one place where cooperation rather than competition is the order of the day. Amen. I second that. If people contribute to Classpath, then it can be used by a large number of different VM implementations. I see Kaffe's chief role as an integration point where we can try to get everything working and test it all. Our implementation is closer to the standard architecture of Sun's JDK than some of the other projects out there, so getting some things to work is easier for us. If we use code from Classpath, and we get it to work, and we identify and fix bugs, and push it back up to Classpath, it helps out other implementations, such as gcj, which are trying to do other really innovative (but harder) stuff. That said, Kaffe is distinct in that it is a bit more flexible on the licensing side, since we're GPL'd and we don't need copyright assignment. So we can also integrate additional cool stuff that might not be found in Classpath due to silly political reasons. I'd like to do it intelligently, so that we don't end up detracting or pulling focus away from projects like Classpath. Cheers, - Jim ___ kaffe mailing list [EMAIL PROTECTED] http://kaffe.org/cgi-bin/mailman/listinfo/kaffe
Re: [kaffe] CVS kaffe (jim): Testing new loginfo / cvsps script.
On Wed, 13 Aug 2003 11:59:00 +0200 Dalibor Topic [EMAIL PROTECTED] wrote: wow! that's really nice! I must check in something today to test it ;) Oops. There were some bugs in the perl script where it detected the first line in the ChangeLog - the subjects were coming across blank. I think it's fixed now. Cheers, - Jim ___ kaffe mailing list [EMAIL PROTECTED] http://kaffe.org/cgi-bin/mailman/listinfo/kaffe
[kaffe] Pledge break...
Hi, I've updated the website so that there is now a sponsorship link at the top of the kaffe.org webpage. I'm inviting people to sponsor the website for a month at a time. I tried to keep it somewhat discrete. For the past year, since Transvirtual went under, Berkeley Signal Inc. has donated $50 per month to communitycolo.net to help offset the costs of keeping the server in a good co-location facility with good bandwidth (in addition to donating the hardware). I'd like to open up sponsorship of the site to others so they can help share in the costs, which are really rather minimal. I really want this to be a community project, and I don't want it to appear that we're selling out to anybody, or that there is some company behind the scenes controlling things. The monthly sponsorship is the simplest thing I could think of. Is this OK with everybody? Cheers, - Jim ___ kaffe mailing list [EMAIL PROTECTED] http://kaffe.org/cgi-bin/mailman/listinfo/kaffe
Re: [kaffe] Feature request: Moveable Kaffe installation
On Thu, 7 Aug 2003 11:03:45 +0200 Markus Maier [EMAIL PROTECTED] wrote: Hello, I observe kaffe for a few month and it seams that my software may run on kaffe in the near future; and now I have to make a feature request: Please make the installation of kaffe moveable; i.e. don't use a fixed prefix variable in the wrapper scirpts, but calculate its value in some way. All JRE's I used on Linux since 1.0.2 from SUN, blackdown or IBM, have installations directories which are moveable without any problems, but for kaffe I have to edit all this scirpts to make its installation moveable. I agree it should be moveable. When I get some time, I'll make the changes (unless somebody else does it first). Cheers, - Jim ___ kaffe mailing list [EMAIL PROTECTED] http://kaffe.org/cgi-bin/mailman/listinfo/kaffe
Re: [kaffe] static vm on mipsel
This should work... ./configure --with-staticbin --with-staticvm --with-staticlib That should give you a static binary. Cheers, - Jim On Thu, 07 Aug 2003 21:22:24 + Mark and Janice Juszczec [EMAIL PROTECTED] wrote: Tim I tried this. Sorry, I should have been more clear. From: Timothy Stack [EMAIL PROTECTED] Is there any way to force it to build statically? Try --with-staticvm AND --with-statclib Mark tim Mark _ The new MSN 8: advanced junk mail protection and 2 months FREE* http://join.msn.com/?page=features/junkmail ___ kaffe mailing list [EMAIL PROTECTED] http://kaffe.org/cgi-bin/mailman/listinfo/kaffe ___ kaffe mailing list [EMAIL PROTECTED] http://kaffe.org/cgi-bin/mailman/listinfo/kaffe
[kaffe] Kaffe 1.1.1 Development Release available for download
I've made the 1.1.1 release of Kaffe available for download at: ftp://ftp.kaffe.org/pub/kaffe/v1.1.x-development/kaffe-1.1.1.tar.gz http://www.kaffe.org/ftp/pub/kaffe/v1.1.x-development/kaffe-1.1.1.tar.gz As this is a development release, it is essentially a snapshot of what's happening in CVS, with limited testing. Even though this is not a production release, it contains a lot of improvements over 1.0.7, which was release over half a year ago. I anticipate that most people will have less trouble with this release. Here are some highlights of new things done since the last development release: * Much of the new bytecode verifier has been added (but not all of it). Soon, we will be able to safely run untrusted code! * Lots of configuration/compile fixes, including: NetBSD, OpenBSD, Linux 2.0, Linux/S390, AmigaOS, OpenBSD/Sparc, Cygwin * Lots of class library fixes * Added JNI 1.2/1.4 features * The beginnings of JVMPI support * Some infrastructure for NIO support * Some successes: Eclipse (loads, doesn't completely work yet), Jetty w/JSP, Java-Gnome, Qt AWT under QTopia, Snark, hsqldb We're going to try to stick to the schedule of doing a development release every two months, culminating in a heavily tested production release (1.2.0) in early 2004. Bug reports, comments and patches are always welcome -- send them to the team at [EMAIL PROTECTED] Have fun! Cheers, - Jim ___ kaffe mailing list [EMAIL PROTECTED] http://kaffe.org/cgi-bin/mailman/listinfo/kaffe
Re: [kaffe] Re: Regression/build testing using Xenofarm
On Fri, 01 Aug 2003 16:59:06 +0200 Dalibor Topic [EMAIL PROTECTED] wrote: Developers would drop these .xml files into a designated directory underneath their home directories on pogo.kaffe.org. Eventually, I'd like to write up a way to set up web accounts and http uploading or WebDAV on kaffe.org so that non-developers could also easily submit reports. Can't you just add another layer of indirection so that non-developers could publish the results on their servers, and an ant task could collect them automatically? That could be done too. :-) Every few minutes, a cron job will run an ant task which reads all the .xml files (maybe using XOM), and dumps them, or maybe just the new/changes ones, into a SQL database (hsqldb?). The web output will be a set of JSPs that just pulls data out of the SQL database. I thought of using XSLT to do the processing, but that doesn't scale as nicely as SQL. Argh, too many acronyms exception ;) hsqldb is nice, I've played with it a couple of months ago. It should run fine on kaffe. How about XOM, does that work with kaffe? It seems to work fine, at least the simple portion of it that I'm using. Cheers, - Jim ___ kaffe mailing list [EMAIL PROTECTED] http://kaffe.org/cgi-bin/mailman/listinfo/kaffe
Re: [kaffe] Fix for Jim's patch
On Thu, 31 Jul 2003 14:38:05 +0200 Guilhem Lavaux [EMAIL PROTECTED] wrote: Here the last patch to KJC for today ;-). I fix previous Jim's patch so it can also compile source file in the current directory with javac source.java. Done. I will also upload the new patches to kaffe-extras in a few minutes. Thanks for catching this. I guess I didn't test so well. :-( Cheers, - Jim ___ kaffe mailing list [EMAIL PROTECTED] http://kaffe.org/cgi-bin/mailman/listinfo/kaffe
[kaffe] hsqldb - Abstract method in non-abstract class error
Hi, I'd like to use hsqldb 1.7.1 for the simple regression testing reporting thing I'm writing to install on kaffe.org, but I'm running into a bug. It's super cool, BTW. Get it here: http://hsqldb.sourceforge.net/ Here's a trivial example, that creates a SQL table in-memory. import java.sql.*; public class TestHSQLDB { public static void main(String[] args) throws ClassNotFoundException, SQLException { Class.forName(org.hsqldb.jdbcDriver); Connection con = DriverManager.getConnection( jdbc:hsqldb:., sa, ); Statement stmt = con.createStatement(); stmt.executeUpdate(create table TestResults + (codebase varchar(50), + branch varchar(50), + change integer, + category varchar(128), + status varchar(20) )); } } $ kaffe -cp .:../webapp/WEB-INF/lib/hsqldb.jar TestHSQLDB java.lang.ClassFormatError: (class: org/hsqldb/jdbcConnection, method: setHoldability signature: (I)V) Abstract method in non-abstract class at java.sql.DriverManager.getConnection (DriverManager.java:164) at java.sql.DriverManager.getConnection (DriverManager.java:188) at TestHSQLDB.main (TestHSQLDB.java:10) This blocks me, so I'll definitely dive into it this weekend - but I thought somebody on the list might be able to fix it faster. Cheers, - Jim ___ kaffe mailing list [EMAIL PROTECTED] http://kaffe.org/cgi-bin/mailman/listinfo/kaffe
Re: [kaffe] Debugging Help
On Wed, 30 Jul 2003 14:49:19 -0400 (EDT) Rob Gonzalez [EMAIL PROTECTED] wrote: Hi all, Attached is a patch for a nearly completed bytecode verifier. There are two things that are still not checked that are required by JVM Spec 4.8.2, but they will be pretty simple to add in later. Excellent! Please hold off on checking this in until I get the 1.1.1 release out on Sunday. We're currently in feature freeze this week - I think this qualifies as a feature. :-) Cheers, - Jim ___ kaffe mailing list [EMAIL PROTECTED] http://kaffe.org/cgi-bin/mailman/listinfo/kaffe
Re: [kaffe] kaffe-extras
On Mon, 28 Jul 2003 08:44:47 +0200 Dalibor Topic [EMAIL PROTECTED] wrote: Basically, it works similar to how a ports style system works. I'm just checking in scripts to download tar and zip files, patch them, and build stuff. There are two basic scripts. The first one, bootstrap-kaffe+ant.sh just downloads the sources for kaffe and ant, and builds them. I've noticed that it uses kaffe 1.1.0. I think that for fixing/finding bugs and evaluating actual current status with ant and other tools, using kaffe from CVS head would be a better option. On the other hand, it's good to try to use what we've released to help gauge where we're at. It'll help motivate us to do better releases. Is there a simple way to use CVS head as the java environment? Just publish a snapshot make dist tarball somewhere and adapt the scripts. Or just skip the bootstrap step and use a kaffe compiled somewhere else on your system. I found a few bugs in Kaffe 1.1.0 with the kaffe-extras script. If those still exist in the CVS version, it would be nice to fix them in time for 1.1.1 (next Sunday). Cheers, - Jim ___ kaffe mailing list [EMAIL PROTECTED] http://kaffe.org/cgi-bin/mailman/listinfo/kaffe
[kaffe] Jetty 4.2.9 and JSPs
Hi, I checked in a new kjc.jar which changes the default location where .class files are dropped when compiling, so it matches Sun's javac. So now JSPs work in Jetty. I haven't tried Tomcat yet... Give it a try, with Jetty 4.2.9: $ export JAVA_HOME=/usr/local/kaffe $ export JAVA_OPTIONS=-Dbuild.compiler=kjc Unfortunately, bin/jetty.sh needs a tiny patch, because it looks at the output of java -version: --- bin/jetty.sh.old2003-07-27 00:24:16.0 -0700 +++ bin/jetty.sh2003-07-27 00:24:32.0 -0700 @@ -397,7 +397,8 @@ exit 1 fi -JAVA_VERSION=`expr $($JAVA -version 21 | head -1) : '.*1\.\([0-9]\)'` +#JAVA_VERSION=`expr $($JAVA -version 21 | head -1) : '.*1\.\([0-9]\)'` +JAVA_VERSION=2 # # See if JETTY_PORT is defined Then you should be able to run the demos: $ bin/jetty.sh start etc/demo.xml Connect to http://localhost:8080/ and try the demos. Cheers, - Jim ___ kaffe mailing list [EMAIL PROTECTED] http://kaffe.org/cgi-bin/mailman/listinfo/kaffe
[kaffe] loginfo script
Hi, I think I made an error in the loginfo script, which is why some of the recent commits didn't send an email to the list. I think I've fixed it. And a reminder - the feature freeze for 1.1.1 is tomorrow... Cheers, - Jim ___ kaffe mailing list [EMAIL PROTECTED] http://kaffe.org/cgi-bin/mailman/listinfo/kaffe
[kaffe] kaffe-extras
Sorry for bombing the list with CVS commit messages. I didn't realize that the list would get those commits for modules that weren't kaffe (I guess the script is doing a substring match). I'll try to fix that. Anyways, you can see the beginnings of the build system for things like kjc checked in under kaffe-extras. I'm not done with it yet, but I checked in what I have so far. Basically, it works similar to how a ports style system works. I'm just checking in scripts to download tar and zip files, patch them, and build stuff. There are two basic scripts. The first one, bootstrap-kaffe+ant.sh just downloads the sources for kaffe and ant, and builds them. Most of the rest of the stuff is done with ant, in build.xml. I'm bumping into several Kaffe bugs that are holding me back. I can rebuild everything except kjc. To rebuild kjc, I still need to resort to using the JDK, and putting rt.jar from the JDK in the CLASSPATH. Cheers, - Jim ___ kaffe mailing list [EMAIL PROTECTED] http://kaffe.org/cgi-bin/mailman/listinfo/kaffe
[kaffe] Release planning
Hi, I'd like to stick to approximately a 2 month release cycle between 1.1.x releases. How does this sound for dates? Sunday, July 27 - Feature Freeze for 1.1.1 Sunday, August 3 - Release 1.1.1 I'm proposing a freeze only for one week. The 1.1.x series is a development series of releases, so it doesn't make sense to freeze for too long. We don't have to do too much testing, but a little would be nice. Most of the ugly packaging stuff was done in 1.1.0, so it should be easier this time. I'd really like to get some regression testing set up on kaffe.org soon, that will help us out in the testing department greatly. I've decided to take Fridays off work for most of the summer, so I should be able to make some headway on that. Also, is it helpful to set dates further into the future? Since everybody is a volunteer, I think a long-term timetable would be helpful so people can make plans. Here's what I was thinking... Sunday, September 28 - Feature Freeze for 1.1.2 Sunday, October 5 - Release 1.1.2 Sunday, November 30 - Feature Freeze for 1.1.3 Sunday, December 7 - Release 1.1.3 Sunday, January 18, 2004 - Feature Freeze for 1.2.0 Sunday, January 23, 2004 - Release Candidate - 1.2.0-rc1 Sunday, February 1, 2004 - Release Candidate - 1.2.0-rc2 Sunday, February 8, 2004 - Release 1.2.0 (Production Release) I don't really have any release goals, so I think it might be a good idea to just pick the dates. My main input into the project is to do the releases, as well as run the server -- fixing some dates would keep me honest. :-) I think given that amount of time, we could have a really solid production release we can be proud of. Cheers, - Jim ___ kaffe mailing list [EMAIL PROTECTED] http://kaffe.org/cgi-bin/mailman/listinfo/kaffe
[kaffe] Re: running Java applications within kaffe (Re: [kaffe]shutdownHook changes broke the build)
On Mon, 2003-07-14 at 03:34, Dalibor Topic wrote: Salut Guilhem, Guilhem Lavaux wrote: I'll check in a patch that delegates running of kjc pizza to another VM instance through Runtime.exec, since that seems to be the sane thing to do ;) cheers, dalibor topic Hi dalibor ! Ok, have you tested the patch against KJC ? I am not sure they are active anymore (I tried to download from the CVS but I only get a timeout). I still have to write it, actually ;) I'll do it tonight, and then I'll take a look at rmic to see how it calls the compiler to test it. If you want I can provide you a new binary for KJC (based on KJC 2.1B). That would be very nice, but I'll try to rebuild it myself first, and to run the jacks java compiler test suite against it. Then I'll put your patch into the developers directory and check in the updated kjc.jar. You may want to change the version information as well, to kjc-2.1B-gl-1 or something like that. Jim, could you post an update on your plans for the kaffe-external-libraries repository? cheers, dalibor topic I still haven't gotten the kaffe-external-jars thing done yet. Unfortunately, my time's been pretty tight the last two weeks. It's at the top of my list of things to do now... Please feel free to update kjc.jar, and post or check in the patch! :-) Cheers, - Jim ___ kaffe mailing list [EMAIL PROTECTED] http://kaffe.org/cgi-bin/mailman/listinfo/kaffe
[kaffe] Playing with freenet...
Hi, I didn't spend any time working on Kaffe over the weekend, but I did spend some time playing with Freenet. :-) I made a freesite, and inserted it into freenet using my node (running on the JDK, unfortunately, as the latest freenet builds use NIO and don't run ok Kaffe). As part of the freesite, I uploaded the Kaffe sources for 1.1.0. I think I'll publish future releases there as well. My site isn't anonymous, but it does mean that people can download Kaffe anonymously. :-) Here's the key for the site: [EMAIL PROTECTED]/jimpick/1// I sent some announcements around to various portal sites withing Freenet. Who knows if they'll ever receive them... Cheers, - Jim ___ kaffe mailing list [EMAIL PROTECTED] http://kaffe.org/cgi-bin/mailman/listinfo/kaffe
Re: [kaffe] autoreconf troubles [solved]
On Fri, 2003-07-04 at 00:58, Dalibor Topic wrote: Jim, could you manually set the executable permission bit on developers/autogen.sh? It seems that there is no way to do it through a cvs client. See http://www.loria.fr/~molli/fom-serve/cache/77.html Okay, done. Cheers, - Jim ___ kaffe mailing list [EMAIL PROTECTED] http://kaffe.org/cgi-bin/mailman/listinfo/kaffe
Re: [kaffe] modifying KJC in kaffe source tree
On Wed, 02 Jul 2003 10:28:12 -0400 (EDT) Rob Gonzalez [EMAIL PROTECTED] wrote: Hi all, Jim, in: http://www.kaffe.org/pipermail/kaffe/2003-June/042818.html you spoke about a separate build system with which to rebuild kjc and other external jars. How far are we away from that? In order to use kjc during regression tests right now kaffe needs to be run either with -noverify or with a fixed version of kjc (i.e. one that passes verification). So here's a real practical reason why such a build system would be awesome :) Rob I haven't gotten around to doing it yet (the weather was too nice last weekend to stay in front of a computer). Feel free to just update the kjc.jar binary in CVS, and post the patch to the list. When I get around to making the build system, I'll put it in. Cheers, - Jim ___ kaffe mailing list [EMAIL PROTECTED] http://kaffe.org/cgi-bin/mailman/listinfo/kaffe
Re: [kaffe] Kaffe Architecture Documentation
On Wed, 2 Jul 2003 10:59:15 -0700 (PDT) Dalibor Topic [EMAIL PROTECTED] wrote: Hi Jim, --- Jim Pick [EMAIL PROTECTED] wrote: Please suggest some more links if you know of any other documentation hiding out there on the web. I know, you've probably all sent me the links before, and they're in the depths of my inbox. It's always good to cc: them to the list, since I'm can be somewhat neglectful at times... Kiyo's http://www2.biglobe.ne.jp/~inaba/trampolines.html and http://www2.biglobe.ne.jp/~inaba/sysdepCallMethod.html . and maybe http://www.cs.umd.edu/class/fall2000/cmsc731/Kaffe/ Oh, and http://www.mail-archive.com/kaffe%40kaffe.org/ should be probably featured on the mailing list page as well, as a simple way to search kaffe's mailing list archives. Excellent! I added the links. Cheers, - Jim ___ kaffe mailing list [EMAIL PROTECTED] http://kaffe.org/cgi-bin/mailman/listinfo/kaffe
Re: [kaffe] Kaffe Architecture Documentation
On Thu, 3 Jul 2003 07:08:31 +0900 (JST) Kiyo Inaba [EMAIL PROTECTED] wrote: Hi Kiyo's http://www2.biglobe.ne.jp/~inaba/trampolines.html and http://www2.biglobe.ne.jp/~inaba/sysdepCallMethod.html Are they still needed to be mentioned? They are not out of date (fortunately) but equivalent issues are mentioned in more detailed documents. Mine are just a quick hack to help others when there were no other documents... Of course, I don't deny to put them in the documentation page. I'd like to get an internals document checked into the source tree. Until that's done, I think it's still handy to have multiple writeups. :-) Cheers, - Jim ___ kaffe mailing list [EMAIL PROTECTED] http://kaffe.org/cgi-bin/mailman/listinfo/kaffe
Re: [kaffe] Kaffe Architecture Documentation
On Tue, 1 Jul 2003 09:48:02 -0700 (PDT) Dalibor Topic [EMAIL PROTECTED] wrote: So just use whatever suits you best, as long it's an open format. MS Word DOC files would be really, really bad ;) Heck, we'll even take .doc files - I can cut and paste those into DocBook or something like that. I'm planning to add some DocBook infrastructure to our build so I can check in Edouard's porting document - which we can use as a basis for doing some real documentation. Dalibor, you once sent me a pointer to a page linking to documents people have written in the past (like Samuel Sanseri, Edouard and other folks), but I can't find that link anymore. Could you help me with that? Sure: http://www.kaffe.org/weeklynews/2002/1.html I'm so embarrassed that I never added those links to the documentation web page. I'm not a very good webmaster. I finally added them, so you can see them here now: http://www.kaffe.org/documentation.shtml Please suggest some more links if you know of any other documentation hiding out there on the web. I know, you've probably all sent me the links before, and they're in the depths of my inbox. It's always good to cc: them to the list, since I'm can be somewhat neglectful at times... Cheers, - Jim ___ kaffe mailing list [EMAIL PROTECTED] http://kaffe.org/cgi-bin/mailman/listinfo/kaffe
Re: [kaffe] Build system for kjc / external jars + Jetty/JSPsuccess
On Fri, 2003-06-27 at 05:38, Dalibor Topic wrote: Anyway, this has been done to death every couple of months, and my conclusion is: * I don't really know * if you don't know either but have to know ask your lawyer * none has complained yet * transvirtual was fine with everything running on top of kaffe, see http://web.archive.org/web/20020220084736/http://www.kaffe.org/FAQ.html#proprietary. * it would be very hard to relicense everything now, since transvirtual is dead That's basically where I'm at on the issue as well. I'll add some more comments to this thread, since I think it summarizes the issues quite well, and I don't want to write a FAQ.Licensing. :-) Where we want to go on the licensing is to realize that the GPL licensing is a small bit of an impediment to us, imposed on us by Transvirtual/FSF dealing in days gone past. GPL+Exception would be ideal, but the only way to do that is to throw away all code that was contributed to us under the GPL. I don't want to do that. I guess what I'd like to add to this thread is that it would be nice if new contributions to class libraries and such came in under non-GPL licenses, and we keep track of those. If people contribute their changes to Classpath, which is GPL+Exception, that does it for us automatically. But Kaffe can also take code under other GPL-compatible licenses (eg. BSD-style), and does not require copyright assignment, so we can take additional contributions that Classpath can't take. Ultimately, we're trying to be greedy, not pure, and if somebody wants to contribute pure GPL code for something, we aren't going to say no. This might provide a vehicle for some people doing a research project, or a business that wants to relicense their code to get their code out there -- but still leave the door open to selling their code commercially under an alternate license (it's a pretty tough business model though, as Transvirtual will testify). I don't know if there is much point in trying to get away from GPL contributions for the core virtual machine - those contributions would be hard to separate out and use in an alternate VM project. If somebody does want to do a contribution to the core virtual machine under a non-GPL but GPL compatible license, so it could be reused elsewhere, we should respect that, and clearly mark the alternate licensing terms on their contribution. I don't think we should try to ditch the current VM stuff, and go back to the old BSD licensed version of Kaffe, and try to reimplement everything since Transvirtual did the switch to the GPL license. If somebody (or a company) feels so strongly about the licensing issue that they'd like to start maintaining the old BSD licensed version of Kaffe again, I'd be open to letting them use Kaffe.org's resources to do a fork, maybe under another name, so it doesn't confuse people. There are already lots of VMs based off of Kaffe, so that's something we like to promote. Cheers, - Jim ___ kaffe mailing list [EMAIL PROTECTED] http://kaffe.org/cgi-bin/mailman/listinfo/kaffe
Re: [kaffe] Build system for kjc / external jars + Jetty/JSPsuccess
On Thu, 2003-06-26 at 08:16, Rob Gonzalez wrote: I did some googling about the licensing issues, and it does seem that if we ship kaffe with a copy of Ant then we would not be included in debian-free anymore...the Apache license is not GPL-compatible. We can clearly use Ant all we want for developing, we just can't ship a copy with our software and remain on debian-free. That's silly. I agree that the Apache license is not GPL-compatible. To me, that means that we can't link Apache stuff directly into our class libraries, or into the VM itself. I wasn't talking about doing that. What I was talking about was bundling some applications that run on top of the VM, to simplify some build-time dependencies. By doing this, our users benefit, as they don't have to scurry around looking for bits all over the net and applying patches. This is bundling / distribution issue. I think there's a clear distinction between bundling packages that run on top of the VM, and linking them in. Actually, distributing some non-GPL compatible apps along with the VM sources is not a bad way to help people understand how we interpret the licensing issues. I don't believe that the GPL, when used as a license on a virtual machine, is so super viral that it contaminates applications run on top of the machine, or bundled alongside it. Granted, it's a matter of interpretation, but I've had discussions with a number of free software luminaries that basically agree with that interpretation. There are limits on how much the GPL infects other software - it doesn't cross all boundaries. The FSF will tell you so. The only people who will tell you that the GPL infects absolutely everything it comes in contact with is Microsoft, as part of their FUD campaign. Debian will understand. They are in the bundling / distribution business as well. If they want to belabour the point that the GPL somehow infects software with a clearly labelled non-GPL-compatible license just simply because it's in the same tarball, they're going to have a tough time defending whether or not it's legal to ship GPL and non-GPL Debian packages inside the same ISO image - which is fundamentally what they do. As far as I know, in the computer science literature, a virtual machine interface is the strongest terminology used in software architecture documentation to separate between different layers in a system. It is commonly used to differentiate even hardware/software boundaries. Eg. the x86 instruction set can be called a virtual machine. I think we're on good ground here. Cheers, - Jim ___ kaffe mailing list [EMAIL PROTECTED] http://kaffe.org/cgi-bin/mailman/listinfo/kaffe
Re: [kaffe] http://www.kaffe.org/documentation.shtml
On Thu, 2003-06-26 at 07:09, Dalibor Topic wrote: --- Kiyo Inaba [EMAIL PROTECTED] wrote: Hi Jim, At the moment, the web page just has the FAQ files from 1.1.0. That's funny. 'FAQ.cross-compilation' is in the 1.1.0. But it is not listed in documentation.shtml. This is same for 'FAQ.jit3'. Are you talking '1.0.7' rather than '1.1.0'? The docs online are from 1.1.0, from what I can tell (WHATSNEW, FAQ.awt). But some of the docs from 1.1.0 are missing (FAQ.cross-compilation, and apparently a few others). I'd prefer to have the links to the CVS HEAD sources, though, instead to a copy of them in the docs directory. If they were links, they would be updated automatically, whenever the docs are updated. So, for example, instead of linking FAQ.kjc to http://www.kaffe.org/doc/kaffe/FAQ.kjc , just linking to http://www.kaffe.org/cgi-bin/viewcvs.cgi/*checkout*/kaffe/FAQ/FAQ.kjc?rev=HEAD would always keep it updated. Jim, is that change O.K. with you? If so, are you going to check it in, or should I do it? I updated the page, so it now has links to both the 1.1.0 and CVS versions of the documents. It turns out it was my fault anyways - I had forgotten to add the new files to the page. Cheers, - Jim ___ kaffe mailing list [EMAIL PROTECTED] http://kaffe.org/cgi-bin/mailman/listinfo/kaffe
Re: [kaffe] Build system for kjc / external jars + Jetty/JSP success
On 26 Jun 2003 18:56:37 +0200 Mark Wielaard [EMAIL PROTECTED] wrote: Hi, On Thu, 2003-06-26 at 18:04, Jim Pick wrote: Actually, distributing some non-GPL compatible apps along with the VM sources is not a bad way to help people understand how we interpret the licensing issues. Are you sure all copyright holders of the VM and the class libraries interpret the GPL this way? What happened to the copyright that Transvirtual held on large parts of the source code? The reason I ask is because the SCO mess reminds me of the fact that there will always be people/laywers who will interpret legal language in creative ways. I think all the IP is probably sitting in a cardboard box somewhere in some VC's closet in Japan. :-) In the wrong hands (eg. lawyer's like SCO's), I think that the IP could possibly come back to haunt somebody who incorporated Kaffe into a commercial product, and was making lots of money, even if the legal claims were baseless (eg. what SCO's claims appear to be). Let's not even start thinking about all the submarine patents out there held by various parties... Still, I personally think that saying the GPL contaminates the applications running across the virtual machine boundary is a stretch legally. Of course, I am not a lawyer, and I don't own all of the IP, so my interpretation isn't worth that much. :-) One of the reasons that the GNU Classpath and Kaffe projects worked on their own core library implementations in the past was precisely because they disagreed about this point. I'm pretty good friends with Paul Fisher, and he's talked to me extensively about GPL vs. GPL+Exception, and some of the back room deals that went on between Transvirtual and the FSF back in the day that led to the present situation. It's a real mess... I think GPL+Exception is the way to go for the class libraries - the exception is more of a clarification than anything, and helps remove the threat posed by crazed IP lawyers. I see Kaffe moving towards using Classpath for the core libraries eventually, and dropping most of the current class library implementation. Still, I don't think Kaffe can ever totally shake the GPL. I don't think that's necessarily a bad thing, as I don't think it poses any real barrier for using Kaffe as a basis for free software projects -- except we may have difficulty getting projects like Debian to distribute it. I don't believe that the GPL, when used as a license on a virtual machine, is so super viral that it contaminates applications run on top of the machine, or bundled alongside it. Granted, it's a matter of interpretation, but I've had discussions with a number of free software luminaries that basically agree with that interpretation. There are limits on how much the GPL infects other software - it doesn't cross all boundaries. The FSF will tell you so. The only people who will tell you that the GPL infects absolutely everything it comes in contact with is Microsoft, as part of their FUD campaign. The FSF indeed says that it doesn't cross all boundaries (though they use the terms derived work or work based on the program, not infect and boundary, since those are more common when used when talking about copyrights), but they do also say: http://www.gnu.org/licenses/gpl-faq.html#OOPLang In an object-oriented language such as Java, if I use a class that is GPL'ed without modifying, and subclass it, in what way does the GPL affect the larger program? Subclassing is creating a derivative work. Therefore, the terms of the GPL affect the whole program where you create a subclass of a GPL'ed class. I think that point could be argued. When I subclass java.lang.Thread, I don't feel like I'm creating a derived work of the Java Class Libraries. Instead, I feel like I'm using the API. http://www.gnu.org/licenses/gpl-faq.html#IfInterpreterIsGPL If a programming language interpreter is released under the GPL, does that mean programs written to be interpreted by it must be under GPL-compatible licenses? When the interpreter just interprets a language, the answer is no. The interpreted program, to the interpreter, is just data; a free software license like the GPL, based on copyright law, cannot limit what data you use the interpreter on. You can run it on any data (interpreted program), any way you like, and there are no requirements about licensing that data to anyone. However, when the interpreter is extended to provide bindings to other facilities (often, but not necessarily, libraries), the interpreted program is effectively linked to the facilities it uses through these bindings. So if these facilities are released under the GPL, the interpreted program that uses them must be released in a GPL-compatible way. The JNI or Java Native Interface is an example
Re: [kaffe] http://www.kaffe.org/documentation.shtml
On Sat, 2003-06-21 at 11:20, Kiyo Inaba wrote: Can someone make documentation page of web up to date? Right now, I checked how to cross compile by refering the web, and noticed it is not there :-) I will try to get it from ViewCVS. At the moment, the web page just has the FAQ files from 1.1.0. I'm planning to do a complete overhaul of the pages sometime in the next few weeks. I'd like to have documentation links from both the latest release, and a nightly CVS snapshot... Cheers, - Jim ___ kaffe mailing list [EMAIL PROTECTED] http://kaffe.org/cgi-bin/mailman/listinfo/kaffe
[kaffe] Re: Kaffe compatibility with XOM
Can I forward this to the [EMAIL PROTECTED] mailing list? I think it'll motivate them to get some fixes in for 1.1.1 (which should be out in a few months). Great! On Thu, 2003-06-19 at 03:23, Elliotte Rusty Harold wrote: Of course. It seems there are really three separate problems: 1. There are some compatibility issues with JUnit. This is huge given the number of projects using JUnit these days. This is much more important than any XOM-specific issue. The most immediate problem was the unimplemented Runtime.addShutdownHook. Agreed. I've seen those warnings a few times. I've been meaning to throw up my Apache Gump results on the website sometime, and getting JUnit working nicely would help immensely. 2. The -Xmx non-standard option to the JVM isn't recognized. It's non-standard but very commonly used by heavyweight programs. Still, not a big deal. I was able to work around this, but it may be related to issue 3: Actually, I think we do support that particular option. We do need to get our command line options more in sync with what's in the JDK though. 3. Performance was abysmal on one particular test that uses a lot of memory. What I initially thought was a bug in Kaffe's reflection turns out to be probably a bug in JUnit instead. I am investigating that one further. I'll let you know what I find. Our garbage collection is somewhat primitive compared to what's in JDK 1.4.x, so I wouldn't be surprised if we take a hit in that department. On the other hand, I'm very interested in collecting together tests that really stress the memory management subsystem. Cheers, - Jim -Forwarded Message- From: Elliotte Harold [EMAIL PROTECTED] To: [EMAIL PROTECTED] Cc: [EMAIL PROTECTED] Subject: Kaffe compatibility with XOM Date: 18 Jun 2003 16:16:05 -0400 I spent a little time this afternoon playing with Kaffe 1.10, a clean room Java virtual machine published under the GPL. Mostly I wanted to see if it could run XOM. Sadly the answer seems to be no, it can't. First off the bat, a couple of missing methods (addShutdownHook and removeShutdownHook) in java.lang.Runtime prevented the JUnit GUI testrunner from running. I tried running the textui for JUnit, and that ran. Once I did that, there appeared to be a reflection bug that picked up a non-test-case as a test case, and thus reported an errorneouse failure. Most of the other tests passed. However, as I write this the EncodingTest is either stuck in an infinite loop or running very slowly. I regret to report that Kaffe is not yet up to the task of running XOM, though it's tantalizingly close. :-( -- Elliotte Rusty Harold ___ kaffe mailing list [EMAIL PROTECTED] http://kaffe.org/cgi-bin/mailman/listinfo/kaffe
Re: [kaffe] Allocating objects in the stack
Nice work. What do people think of this? I guess one problem might be that Kaffe's stack is already under pretty heavy pressure, because it's used to store the Java stack as well. If we use it to store objects as well, we might have to increase the default stack size. Cheers, - Jim On Tue, 2003-06-17 at 11:26, Heikki Linnakangas wrote: Hello, I've been pondering for some time if it was possible to allocate some objects in the stack insted of the heap. Stack allocation is faster, stack doesn't need to be garbage collected, and it keeps the memory footprint smaller. Last weekend I decided to look into the problem. I figured that if a method constructs a new object, and never assigns it to member variable, never gives it as an argument to other methods etc. it should be safe to allocate it in the stack. Little googleing revealed that indeed I wasn't the first one to think about this, and I found a nice paper [1] that outlines the above restrictions in a more formal way. Gay and Steensgard also discuss some other code transformations that could leverage stack allocation even more. I grapped the kaffe source code and implemented a very crude version of the method described in the paper. This initial implementation is very limited. Stack allocation is done only for primitive arrays, and only if the method doesn't contain any loops. Escape analysis is very limited. And no JIT implementation yet. I thought I'd post the initial implementation right away before I tackle the more complicated stuff because I'd like to receive comments as early as possible. The implementation introduces a new synthetic instruction, NEWARRAY_STACK, which is identical to NEWARRAY, except that those allocations have been determined safe to be made in the stack. NEWARRAY instructions are changed to NEWARRAY_STACK instructions in the code analyzation phase if the reference doesn't escape the method. Obviously there is a lot of room for improvement: 1. Allocations that are made inside a loop are not suitable for stack allocation. The current implementation just checks if the method has any loops at all, and doesn't do stack allocation if there is. A proper loop detection should determine if the allocation is made inside the loop. I believe it would be fairly easy by looking at the relations between the basic blocks. I haven't looked at that yet. 2. Currently, only primitive arrays are supported. Reference arrays would be trivial to add, but objects are more complicated because they have constructors that could let the reference to escape. Objects would need item 3 solved. 3. Currently all references that are given as arguments to method calls are considered to escape, including the this variable of the callee and most importantly all constructors. However, I'd say that most methods don't really let the argument escape. Think about all the setter/getter-methods, toString etc. Escape analysis should be made for method arguments also. That way most method calls would not inhibit stack allocation. Flags should be attached to all methods that indicates which arguments the implementation let's escape. 4. JIT implementation. Could someone help me to figure out how to allocate something in the stack? I've included the initial implementation as a diff against the current CVS head. You'll have to compile with --with-engine=INTRP. AFAIK, it works, but I haven't tested it very much. The regression tests passed. It's hard to find code that really benefits from this limited implementation, but you can try the following simple example: public class StackAllocationTest { public static void main(String[] args) { int i = 0; while(i 10) { i = inc(i); } System.out.println(i); } public static int inc(int i) { int[] ii = new int[1]; ii[0] = i; ii[0]++; return ii[0]; } } Run the above code with -vmdebug INTRPA to see the NEWARRAY_STACK instruction in action. CODEANALYSE will show some details of the escape analysis. [1] Fast Escape Analysis and Stack Allocation for Object-Based Programs (2000), David Gay, Bjarne Steensgaard http://citeseer.nj.nec.com/gay00fast.html PS. The KaffeInternal.java regression test is broken. It expects a ClassNotFoundException, but a SecurityException is thrown. - Heikki Index: kaffevm/bytecode.h === RCS file: /cvs/kaffe/kaffe/kaffe/kaffevm/bytecode.h,v retrieving revision 1.2 diff -c -r1.2 bytecode.h *** kaffevm/bytecode.h29 Jul 2002 16:02:32 - 1.2 --- kaffevm/bytecode.h16 Jun 2003 20:19:54 - *** *** 217,220 --- 217,223 #define JSR_W 201 #define BREAKPOINT 202 + /* Synthetic bytecodes */ + #define NEWARRAY_STACK 255 + #endif Index: kaffevm/code-analyse.c === RCS
Re: [kaffe] Replaced the good old lightweight AWT?!
Actually, we have multiple AWTs now, selectable at configure time. I wouldn't mind seeing it so that we could compile them all in, and easily select them at run time, using properties, or something like that. If somebody was really ambitious, maybe it's even possible to mix them up, and run multiple AWTs at once. :-) I'd like to see a merge of the old Transvirtual lightweight AWT from the PocketLinux fork of Kaffe. That had a lot of neat stuff, and support for things like drawing to the framebuffer, and quite a few low level graphics libraries. Also, there's Classpath's AWT, which has GTK peer classes implemented. They've got some Swing stuff too. Another cool one to suck in might be Rudolph (from Acunia's Wonka VM), which also works on the framebuffer. Another one that looks interesting is Agile2D, which is a Java 2D implementation, that sits on top of OpenGL (released under the MPL). It's not really an AWT, but they have pictures of Swing running on top of it. We could port the back end of the Transvirtual lightweight AWT onto it, I think. Interestingly, Sun seems to have gotten the message, and it coming out with their own Lightweight AWT for Tiger (Java 1.5). http://servlet.java.sun.com/javaone/sf2003/conf/sessions/display-1999.en.jsp Cheers, - Jim On Sun, 2003-06-15 at 22:50, Clemens Eisserer wrote: Hi there! I just read the release notes of Kaffe-1.1 and I was really shocked. I dont have the opportunity to test kaffe-1.1 by myself so I´ve to ask. I read that theres a new AWT that uses QT as underlaying toolik. Was the old lightweight AWT replaced with this heavyweight toolkit? My Problem is, that I was very happy with the old solution, because it was so incredible fast, especally for other lightweight toolkits (Biss AWT, Ought2, ..). I also tinkered in integrating Biss-AWT instead of the old AWT used in Kaffe, because it has all the common awt features but also supports a lot of other new widgets. For JVM´s that doesnt include these new AWT classes it would be no problem, to create compatibility packages which only include classes not included in the standard classpath. With QT creating such packages would be really hard, the native widgets need to be created lightweight for other JVM´s! The second problem I see is that QT slows down all the primitive drawing functions which are used very often by lightweight toolkits! I loved kaffe because it used the underlaying X directly without requiring a native toolkit whioch slows down drawing speed, because of adding a new layer of code! Kaffes built-in Gui support is very poor for bigger apps, and because of free swing replacements doesnt come up (I also tried it by myself, butthe toolkit seems to be incerdibly overdesigned and ugly!) it would make sence in my opinion to extend the currently used AWT implementation. But when QT replaced all the great lightweight stuff, all my thoughts are useless ;-(( Please tell my your ideas! lg Clemens ___ kaffe mailing list [EMAIL PROTECTED] http://kaffe.org/cgi-bin/mailman/listinfo/kaffe ___ kaffe mailing list [EMAIL PROTECTED] http://kaffe.org/cgi-bin/mailman/listinfo/kaffe
[kaffe] Kaffe 1.1.0 Development Release available for download
Hi, I've made the 1.1.0 release of Kaffe available for download at: ftp://ftp.kaffe.org/pub/kaffe/v1.1.x-development/kaffe-1.1.0.tar.gz http://www.kaffe.org/ftp/pub/kaffe/v1.1.x-development/kaffe-1.1.0.tar.gz This is a development release, the first one in the 1.1.x series. It's probably much better than the 1.0.7 release, but it has not been tested extensively enough to be considered a production release. Please read the RELEASE-NOTES for additional release notes. I think people will be pleasantly surprised with the amount of software Kaffe is now able to run. And we're on the verge of making some big breakthroughs. :-) We do need volunteers to help us out with a variety of projects and ports. In particular, both the Windows and Mac OS X ports are still quite broken. All the action is on the [EMAIL PROTECTED] mailing list, join us there! The next development release (1.1.1) will be in 2-3 months. I didn't get the chance to do a release candidate build for this one, and I made some major packaging modification (it took me all weekend) - if I messed up the packaging in a big way, I might do a 1.1.0a release. Here is What's New in 1.1.0: * Port to x86-64 GNU/Linux * Port to RISC OS * Port to Playstation 2 GNU/Linux * Port to SuperH GNU/Linux * Qt based AWT backend * Support for javax.sound from tritonus.org * Support for JAXP from GNU JAXP * Support for java.util.regex from GNU regexp * New java.lang.reflect.Proxy from GNU Classpath. * Built-in XML parser (Aelfred2). * New packages: * java.awt.color * java.awt.dnd * java.awt.font * java.awt.geom * java.awt.im * java.awt.image.renderable * java.awt.print * java.beans.beancontext * java.nio * java.nio.channels * java.nio.channels.spi * java.nio.charset * java.nio.charset.spi * java.security.acl * java.util.logging * java.util.prefs * java.util.regex * javax.accessibility * javax.naming * javax.naming.directory * javax.naming.event * javax.naming.ldap * javax.naming.spi * javax.rmi * javax.rmi.CORBA * javax.sound.midi * javax.sound.midi.spi * javax.sound.sampled * javax.sound.sampled.spi * javax.sql * javax.swing.text * javax.transaction * javax.transaction.xa * javax.xml.parsers * javax.xml.transform * javax.xml.transform.dom * javax.xml.transform.sax * javax.xml.transform.stream * org.w3c.dom * org.w3c.dom.css * org.w3c.dom.events * org.w3c.dom.html * org.w3c.dom.ranges * org.w3c.dom.stylesheets * org.w3c.dom.traversal * org.w3c.dom.views * org.xml.sax * org.xml.sax.ext * org.xml.sax.helpers * New build system. * Support for user defined class library profiles * New version of KJC (2.1B). * Many improvements to serialization, localization, and reflection. * Implemented native2ascii, javah. * Lots of bug fixes. Have fun! And thanks to all the developers and contributors that made this possible! Cheers, - Jim ___ kaffe mailing list [EMAIL PROTECTED] http://kaffe.org/cgi-bin/mailman/listinfo/kaffe
Re: [kaffe] Kaffe CVS: kaffe jim
On Sun, 2003-06-08 at 23:54, Dalibor Topic wrote: Cool patch! It will make life easier for platfroms suffering from jitter/interpreter/strtod bugs during the rebuild of class library. I hope that it also trivially fixes the make distcheck issues. Yeah, I figured it was sort of essential for the tarball. The 1.0.7 release used a precompiled Klasses.jar as well, which makes it easier to deploy. It was horrible trying to figure out all the Makefile magic though - it really took me all weekend (that's why I didn't get a chance to do a -rc1 unfortunately). I wouldn't be surprised if I messed something up, I only tested a limited set of configurations. Cheers, - Jim ___ kaffe mailing list [EMAIL PROTECTED] http://kaffe.org/cgi-bin/mailman/listinfo/kaffe
[kaffe] Freeze
I'm sure everybody already knows this, but we're in a freeze now. So we want bug fixes, testing results, documentation and packaging / configure fixes only at this point. The release 1.1.0 release will be on Sunday. Cheers, - Jim ___ kaffe mailing list [EMAIL PROTECTED] http://kaffe.org/cgi-bin/mailman/listinfo/kaffe
Re: [kaffe] current status?
On Fri, 2003-06-06 at 10:37, Andrew Mermell wrote: Hello, Could someone please give me a brief idea of what's happening with kaffe at this point? Is it in much use on the PowerPC? I recently upgraded my iBook and tried in on Mac OS X 10.2 / PowerPC. The head of CVS compiled staticly (dynamic linking hasn't been fixed for Mac OS X). It did complain about needing automake in the libltdl directoy - I'm going to try to fix that today. It was able to run Hello World, but was unable to run kjc (our javac, needed to recompile the class libs). I imagine that Linux/PPC would have similar results. I see that kaffe was included in Redhat 6 but is no longer being distributed by them as of RH7.3. From your perspective, why did they do that and what are the implications for a redhat user? I'm not surprised that they dropped it. Even though Kaffe has been around since 1997, the project was quite fragmented, and the Java compatibility was quite lacking. So it has been quite frustrating to use previous versions of it. I think the 1.1.0 release will be quite a bit nicer, even though it's just doing to be a development release, as the whole project seems to be gaining some momentum which it didn't have in the past -- thanks to the hard work of the volunteer developers and the free Java community. Cheers, - Jim ___ kaffe mailing list [EMAIL PROTECTED] http://kaffe.org/cgi-bin/mailman/listinfo/kaffe
Re: [kaffe] Where to downlad the windows-port?
Nobody has been actively working on it regularily, but I think some work was done on it a few months ago. Currently, there's only cygwin support - so you need to link it against the cygwin DLL (which is an issue for some non-GPL software). The PocketLinux/Transvirtual fork of Kaffe had some support for using mingw32 (eg. no cygwin.dll), but that hasn't been merged in. I'm not sure what the current state is - I've been planning to test it. It would be nice to hear what the current state of the head of CVS is, as we are planning to release 1.1.0 in two days. Cheers, - Jim On Fri, 2003-06-06 at 13:27, Clemens Eisserer wrote: Hi there! I want to bundle one of my small apps with kaffe because its really small and also fast. I need JNI, some basic classpath-features (works with 1.0.6/7 on Linux) and the possibility to start extern programs via system. Does the widnwos-port support all this? Are there precompilied packages available and where can I find them? Thanks a lot, Clemens PS: I sthe windows port still activly developed? ___ kaffe mailing list [EMAIL PROTECTED] http://kaffe.org/cgi-bin/mailman/listinfo/kaffe ___ kaffe mailing list [EMAIL PROTECTED] http://kaffe.org/cgi-bin/mailman/listinfo/kaffe
Release Dates (was Re: [kaffe] Qt AWT backend works underQtopia(Qt Palmtop))
On Mon, 2003-06-02 at 08:50, Kiyo Inaba wrote: Hi Jim, On Mon, 2003-06-02 at 02:29, Dalibor Topic wrote: Yeah, I think 2003-06-04 should be the day when all features for the next version are in and the focus switches over to testing and fixing the platform-specific bugs and build-problems. That would make 2003-06-07 or 2003-06-08 the next release date. Yep. That's what I meant too... So, only 3 days available to adjust 'platform-specific' issues... This is the point for me why I asked the original question. If you plan to include some regression test results for several platforms in the release notes, this period becomes shorter than previous release. Of course, I don't remember clearly for the last time because it was 11 months ago :-) Just for your info, regression test on m68k takes more than 12 hours, and if I test all three configurations, the test itself may take this period ;- Isn't it good time to consider maintaining development branch on which developers introduce new features, and release (or maintenance) branch on which developers can only modify bugs, or platform-specific issues? Well, the original plan for 1.1.0 was to freeze on May 18th, and release on June 1st. Obviously, we didn't freeze on May 18th, and did not release on June 1st. I'll take the blame for that - I wasn't prepared... My intention is to label the 1.1.x series of releases as development releases. We'll do a big 1.2.0 release sometime in the future, which we will label a production release. So we'll be following the convention as the Linux kernel, where odd-numbered minor number releases are development, and even-numbered minor number releases are production. Here's a proposal for 1.1.1 - I think we should do a two month cycle. We should freeze on July 27th (bug fixes only afterwards), and release on August 3rd. That will give us a week of testing next time. I don't want to freeze for too long, because most of the things we call features are actually just really big bug fixes. :-) As for regression test results - what I'd like to do is to get some more automated reporting via the website. And maybe we could snapshot that for the development releases. This seems like a longer term project though, for future releases. Cheers, - Jim ___ kaffe mailing list [EMAIL PROTECTED] http://kaffe.org/cgi-bin/mailman/listinfo/kaffe
Re: [kaffe] Qt AWT backend works under Qtopia(Qt Palmtop)
On Mon, 2003-06-02 at 02:29, Dalibor Topic wrote: --- Kiyo Inaba [EMAIL PROTECTED] wrote: Does 'next wednesday' mean June/4? And does the 'freeze' mean 'code Yeah, I think 2003-06-04 should be the day when all features for the next version are in and the focus switches over to testing and fixing the platform-specific bugs and build-problems. That would make 2003-06-07 or 2003-06-08 the next release date. Yep. That's what I meant too... Cheers, - Jim ___ kaffe mailing list [EMAIL PROTECTED] http://kaffe.org/cgi-bin/mailman/listinfo/kaffe
Re: [kaffe] Qt AWT backend works under Qtopia(Qt Palmtop)
I was trying to get this patch to work over the weekend, but haven't had a clear success yet. It breaks qt embedded at the moment, and doesn't seem to work for me on qtopia 1.6 from trolltech. so I'd propose delaying the release by a week until that's sorted out, and continuing with the development until next wednesday, then freeze, release next sunday. I was just about to plead for the same thing. :-) I had time to do some automake / make dist fixes this weekend, but unfortunately, I came down with a touch of a cold, so I've been working at reduced efficiency. :-( I'd really like to get a precompiled rt.jar in there somehow for the release. That should make life easier for those people who only want to install the package and use it, and aren't that interested in doing development work on the Java classes themselves. I'd like to do a bit more testing on it as well. So lets continue to do bugfixes until Wednesday, and we'll roll the release out next Sunday. Cheers, - Jim ___ kaffe mailing list [EMAIL PROTECTED] http://kaffe.org/cgi-bin/mailman/listinfo/kaffe
CVS tools (was Re: [kaffe] Kaffe CVS: kaffe kaz)
On Tue, 2003-05-27 at 10:21, Dalibor Topic wrote: Hi Ito, --- Ito Kazumitsu [EMAIL PROTECTED] wrote: Sorry, I did not know ChangeLog must be manually edited. At the moment, yeah. We could switch to using cvs2cl after the release, though, if Jim is O.K. with that. I'd have to play with it. CVSps looks very interesting too - it would be nice to have a revision number per commit - plus I'd like to generate a better email to the list with each commit (perhaps with a patch). I need to do some more research. Cheers, - Jim ___ kaffe mailing list [EMAIL PROTECTED] http://kaffe.org/cgi-bin/mailman/listinfo/kaffe
Re: [kaffe] File.createTempFile() creates files in /tmp with mode0666!
Hmm, yeah, I agree - that's not nice. Here's what I tried. === PermCheck.java import java.io.*; class PermCheck { public static void main( String args[] ) throws IOException { File f = new File(testing); f.createNewFile(); f = File.createTempFile(testing,.tmp); System.out.println(f); } } === $ umask 002; rm -f testing /tmp/testing* ; kaffe PermCheck ; ls -l testing /tmp/testing* /tmp/testing75ED7.tmp -rw-rw-r--1 jim jim 0 Mar 2 17:46 testing -rw-rw-r--1 jim jim 0 Mar 2 17:46 /tmp/testing75ED7.tmp $ umask 002; rm -f testing /tmp/testing* ; java PermCheck ; ls -l testing /tmp/testing* /tmp/testing28884.tmp -rw-rw-r--1 jim jim 0 Mar 2 17:46 testing -rw-rw-r--1 jim jim 0 Mar 2 17:46 /tmp/testing28884.tmp Not good. But it looks liek JDK 1.4.1 does the same thing. $ java -version java version 1.4.1_01 Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.1_01-b01) Java HotSpot(TM) Client VM (build 1.4.1_01-b01, mixed mode) Checking classpath: http://savannah.gnu.org/cgi-bin/viewcvs/classpath/classpath/java/io/File.java?rev=1.23content-type=text/vnd.viewcvs-markup http://savannah.gnu.org/cgi-bin/viewcvs/classpath/classpath/native/jni/java-io/java_io_File.c?rev=1.5content-type=text/vnd.viewcvs-markup I don't see any special handling there. They use 0777 as their mode. Checking libgcj: http://subversions.gnu.org/cgi-bin/viewcvs/gcc/gcc/libjava/java/io/File.java?rev=1.24.2.1content-type=text/vnd.viewcvs-markup http://subversions.gnu.org/cgi-bin/viewcvs/gcc/gcc/libjava/java/io/natFilePosix.cc?rev=1.2.2.1content-type=text/vnd.viewcvs-markup Again, don't see any special handling, but they use 0644. Hmm. I also found an older version that Tom Tromey posted: http://gcc.gnu.org/ml/java-patches/2000-q1/msg00108.html In this case, there does seem to be special handling for temp files, where he uses 0600 if it's a temp file, and 0644 otherwise. It does look like they eventually decided to not use 0600 for temp files (my guess is that it broke code). From the looks of this, it does look somewhat undefined. I think we're doing what Sun does, but that makes me somewhat nervous. I can see how it could be considered correct if somebody uses a temp file location other than /tmp. However, since we default to /tmp (as does Sun), using the default behaviour looks like a way to create security holes to me. If somebody is writing portable code, using File.createTempFile() with the default directory setting looks like bad news to me (unless I'm missing something). So, I personally vote for changing the mode to 0644 or 0600. Does anybody else know anything about this issue? Cheers, - Jim On Sun, 2003-03-02 at 13:23, Mark J Roberts wrote: Creating /tmp files with mode 0666 is insane. Other users should never be able to read or write to your temp files! Case in point: -rw-rw-r--1 mjr mjr 0 Mar 2 15:19 prefixF2571suffix After the patch: -rw---1 mjr mjr 0 Mar 2 15:20 prefix87783suffix Index: libraries/clib/io/File.c === RCS file: /cvs/kaffe/kaffe/libraries/clib/io/File.c,v retrieving revision 1.17 diff -u -r1.17 File.c --- libraries/clib/io/File.c 18 Dec 1999 07:40:25 - 1.17 +++ libraries/clib/io/File.c 2 Mar 2003 21:17:16 - @@ -319,7 +319,7 @@ } jboolean -java_io_File_createNewFile0(struct Hjava_io_File* this) +java_io_File_createNewFile0(struct Hjava_io_File* this, jint mode) { char str[MAXPATHLEN]; int fd; @@ -327,7 +327,7 @@ stringJava2CBuf(unhand(this)-path, str, sizeof(str)); - rc = KOPEN(str, O_EXCL|O_WRONLY|O_CREAT, 0666, fd); + rc = KOPEN(str, O_EXCL|O_WRONLY|O_CREAT, mode, fd); switch (rc) { case 0: break; Index: libraries/javalib/java/io/File.java === RCS file: /cvs/kaffe/kaffe/libraries/javalib/java/io/File.java,v retrieving revision 1.30 diff -u -r1.30 File.java --- libraries/javalib/java/io/File.java 21 Nov 2002 21:57:24 - 1.30 +++ libraries/javalib/java/io/File.java 2 Mar 2003 21:17:17 - @@ -117,7 +117,9 @@ File f = new File(dir, prefix + Integer.toHexString( random.nextInt(0x10)).toUpperCase() + suffix); - if (f.createNewFile()) + + f.checkWriteAccess(); + if (f.createNewFile0(0600)) return f; } } @@ -387,10 +389,10 @@ public boolean createNewFile() throws IOException { checkWriteAccess(); - return createNewFile0(); + return createNewFile0(0666); } -native private boolean createNewFile0() throws IOException; +native private boolean createNewFile0(int mode) throws IOException; public boolean
Re: [kaffe] Kaffe CVS: kaffe iurly
Very strange - it looks like Gerlando is working on his own copy of the CVS repository, but the commitlog sent his commit to the kaffe mailling list. :-) Really, it shouldn't have gotten through the anti-relaying rules on the server, I'll have to take another look. Cheers, - Jim On Mon, 2003-02-24 at 08:22, Kaffe CVS wrote: CVSROOT: /home/cvs.kaffe.org Module name: kaffe Changes by: iurly 03/02/24 17:22:11 Modified files: . : config.sub configure Added files: . : cfg config/lx : common.h jit-i386.def jit-icode.h jit.h jit3-i386.def jit3-icode.h threads.h trampolines.c config/lx/linux: config.frag jit-md.h jit3-md.h md.c md.h xprofile-md.h config/lx/oskit: README config.frag jit-md.h jit3-md.h ld-oskit.sh md.c md.h mkimage.sh oskit-configure Log message: config.subforced to output lx-hp-linux configure remove -Wall option not recognized by the LX compiler cfg wrapper for configure config/lx very temporary configuration files for LX ___ kaffe mailing list [EMAIL PROTECTED] http://kaffe.org/cgi-bin/mailman/listinfo/kaffe ___ kaffe mailing list [EMAIL PROTECTED] http://kaffe.org/cgi-bin/mailman/listinfo/kaffe
[kaffe] Re: [kaffe] Rewriting class library compilation
Hi, before I go and rewrite class library compilation a little bit, I'd like to hear if anyone has attempted to fix the remaining issues with class library compilation. I made a few attempts to fix it in the past - however, I always got stuck in issues relating to the way different Java compilers behaved. Anyways, I'm all for doing it differently. Especially if we can enable some more modularity! Cheers, - Jim ___ kaffe mailing list [EMAIL PROTECTED] http://kaffe.org/cgi-bin/mailman/listinfo/kaffe
[kaffe] Re: [kaffe] Upgrading autotools requirements to a more recent version
Nobody likes to mess with the auto* tools. How about if we put together a separate small toolchain package that developers can install, which contains versions of the auto* tools that can be installed in an non-intrusive location. We'd release a new toolchain tarball periodically. Then anybody would be able to update the configure scripts. A more controversial move would be to remove the autogenerated bits from CVS - then people building from CVS would be forced to use autogen.sh and the toolchain. I'm interested in what CVS users think about that. I think we could meet the needs of casual CVS users by just doing more frequent releases. Personally, I think we should continue to check in the autogenerated bits (eg. configure and the Makefile.in's) for the time being. Cheers, - Jim Hi, I'd like to do another round of asking who's using what version of auto* tools, and if upgrading kaffe to use the latest versions would be desirable or cause problems. See this thread for the last discussion of the issues involved: http://www.kaffe.org/pipermail/kaffe/2002-December/028418.html I'd like to raise the discussion again, because a) Pat has 'leaped ahead' of automake 1.4 and autoconf 2.13 on his system. b) Dan has been using latest auto* tools for a while (and libtool from CVS) without much problems. c) Tim doesn't like to mess with auto* tools :) d) I'd prefer to use the latest greatest autotools for a few reasons, one of them being able to merge Dan's libtool-from-CVS patch. I've CC:ed Pat, Tim and Dan because they've sent in patches for the build system recently, but I'd like to hear everyone else's opinion, too. best regards, dalibor topic __ Do you Yahoo!? Yahoo! Mail Plus - Powerful. Affordable. Sign up now. http://mailplus.yahoo.com ___ kaffe mailing list [EMAIL PROTECTED] http://kaffe.org/cgi-bin/mailman/listinfo/kaffe ___ kaffe mailing list [EMAIL PROTECTED] http://kaffe.org/cgi-bin/mailman/listinfo/kaffe
Re: [kaffe] tracing method calls
On Wed, 2002-11-27 at 09:19, Benoit Hubert wrote: Hello I'm working on a modified version of Kaffe, which uses our own thread and socket subsystems. I use a test program which hangs at some point, but I can't determine precisely where. I think that in this situation, it would be helpful if I could trace each method call made by the program. Before that, I tried to use gdb, but as I use an alternate threading system, when I interrupt the program under gdb, the stack I can examine is that of the threads scheduler. Can anyone provide me with some hints, regarding how I could modify the JVM in order to make it trace each method call ? Thanks a lot Benoit I think the PocketLinux version of kaffe had a working -verbosecall switch (it doesn't work in the kaffe.org version). I'm not sure, but I think I was told that it worked by JIT'ing each method, and but not storing the result (so it ran very slowly). Cheers, - Jim ___ kaffe mailing list [EMAIL PROTECTED] http://kaffe.org/cgi-bin/mailman/listinfo/kaffe
Re: [kaffe] tracing method calls
I think the PocketLinux version of kaffe had a working -verbosecall switch (it doesn't work in the kaffe.org version). I'm not sure, but I think I was told that it worked by JIT'ing each method, and but not storing the result (so it ran very slowly). I have to disagree. At the moment, -verbosecall works for me on current CVS from kaffe.org on i386-linux with jit3 engine, I use it quite a lot during debugging. Of course, Dalibor is right. I'm not exactly sure why I thought it didn't work... Cheers, - Jim ___ kaffe mailing list [EMAIL PROTECTED] http://kaffe.org/cgi-bin/mailman/listinfo/kaffe
Re: [kaffe] Typo in config-signal.h?
It definitely looks like a typo, so I commited a fix (completely untested, of course). Thanks for finding it! Cheers, - Jim On Fri, 2002-10-25 at 04:30, Jose M. Gomez wrote: Hi everyone, Just looking at the code I think I saw a typo in line 48 in config-signal.h. This is from the CVS version, although I haven't checked out in a week (lazy, lazy). I suppose it is a doesn't have much importance and probably it doesn't affect any platform as it haven't been seen before. Here is the code: 44 #define sigprocmask(op, nsig, osig) sigsetmask(0) 45 46 #else 47 48 #define sigprocmark(op, nsig, osig) ^ Sorry for not sending a patch file, but it is such a minor thing that I couldn't get myself to use it as a excuse to finally learn how to generate proper patch files. Jose M. Gomez ___ kaffe mailing list [EMAIL PROTECTED] http://kaffe.org/cgi-bin/mailman/listinfo/kaffe ___ kaffe mailing list [EMAIL PROTECTED] http://kaffe.org/cgi-bin/mailman/listinfo/kaffe
Re: [Kaffe] Compiling Kaffe without gcc?
On Fri, 2002-10-11 at 14:08, Jose M. Gomez wrote: Hi everyone, Before launching my questions I'd like to thank and congratulate everyone involved in Kaffe. Great work! Thanks! Now, the inevitable questions. I've just started working on making a port of Kaffe to Minix. Yes, I'm afraid it is Minix. It is for my last year's project in the university and is a first approximation for a port to DSP processors. Anyway, moving the source tree to Minix and running configure to start seeing what would it scream for, there was a message saying that kaffe cannot build without gcc. Looking in the mailing list archives I've found some references to compiling Kaffe in VC and Borland C, but I don't know to which extent that works and they were from the 98 or 99. So, I'd like to know why/what is specific to gcc or is likely to give severe problems if tried to compile with an ANSI C compiler, like the one Minix has and not only because of Minix, but because the C compiler in the TI development environment is not gcc either. Positive references of compiling Kaffe without gcc, specially on embedded systems, are more than welcomed for raising my morale and giving me some peace of mind :). In the past, people have compiled it using MS Visual C++, so I think the gcc dependencies are somewhat minimal. I personally would prefer to keep it that way. By the way, a suggestion after browsing all the mailing list archives. Unfortunately I don't have a clue about this, but would it be possible to get some kind of searching mechanism working? Google seems to work pretty well. If somebody knows something that integrates nicely with mailman/pipermail, I'll gladly install it. Thanks in advance for your help. No problem! Cheers, - Jim ___ kaffe mailing list [EMAIL PROTECTED] http://kaffe.org/cgi-bin/mailman/listinfo/kaffe
Re: [kaffe] Porting Kaffe to PS2
On Sat, 2002-06-15 at 12:34, Dylan Schell wrote: Hi, I'm currently trying to port kaffe to PS2/Linux. I've gotten to the point where the interpreter only fails some IEEE tests (NaN/-0.0/Inf), and would like to proceed with the JIT The current mips port basically runs except for 64 floating point instructions. the PS2 runs on a MIPS processor that can only do 32 bit floating point. Is there and easy way to get the JIT to do 64 bit floats in software? I'm not sure. Maybe it's possible to mix soft and hard float? That sounds more like a toolchain thing. Maybe libfloat would be useful? Also what would be the best way to publish any patches, is there any interest in integrating this in the default codebase? Just send them to the list. If they apply cleanly and aren't too ugly, they'll go in. :-) Cheers, - Jim ___ kaffe mailing list [EMAIL PROTECTED] http://kaffe.org/cgi-bin/mailman/listinfo/kaffe
Re: [kaffe] precompiling Klasses.jar
Oops. My fault. I'll look at it once more... Cheers, - Jim On Wed, 2002-06-05 at 06:37, Alexander Popov wrote: Sorry Dalibor, my mistake... KAFFE_VERSION in java/lang/Cloneable.java is really the reason and should be changed as follows: int KAFFE_VERSION = 1 * 1 + 1 * 100 + 0; should be replaced with: int KAFFE_VERSION = 1 * 100 + 6 * 1 + 0; I'm attaching a patch for that ( should be applied in KAFFE_SRC/libraries/javalib )... Regards Dalibor Topic wrote: Hi alexander, --- Alexander Popov [EMAIL PROTECTED] wrote: Hi When I try to recompile the java sources I get the following error: [/software/jdk/KAFFE/CVS-current/libraries/javalib]# make Klasses /bin/sh ./rebuildLib Compiling classes ... Classpath: -classpath /software/jdk/KAFFE/CVS-current/libraries/javalib/lib:/darcy/software/jdk/KAFFE/CVS-current/libraries/javalib/kjc.jar javac: /software/jdk/KAFFE/CVS-current/kaffe/kaffe/kaffe-bin -ms32M -mx1024M at.dms.kjc.Main Could not initialize Kaffe. Your rt.jar version is 101.00, but this VM was compiled with version 1.06 The current effective classpath is `.:/software/jdk/KAFFE/CVS-current/libraries/javalib/Klasses.jar:/software/jdk/KAFFE/CVS-current/libraries/javalib/kjc.jar' make: *** [lib/stamp] Error 255 This is the CVS from 05.06.2002 (today)... Am I doing something wrong... Could you check if my fix from http://www.kaffe.org/pipermail/kaffe/2000-August/006784.html applies ? dalibor topic __ Do You Yahoo!? Yahoo! - Official partner of 2002 FIFA World Cup http://fifaworldcup.yahoo.com ___ kaffe mailing list [EMAIL PROTECTED] http://kaffe.org/cgi-bin/mailman/listinfo/kaffe -- Alexander Popov Team Leader RTOSJVM ProSyst Bulgaria [EMAIL PROTECTED] [EMAIL PROTECTED] mobile: +35987663193 icq: 29207350 --- java/lang/Cloneable.java Wed Jun 5 14:23:49 2002 +++ java/lang/Cloneable.java Wed Jun 5 14:24:01 2002 @@ -20,3 +20,3 @@ */ -int KAFFE_VERSION = 1 * 1 + 1 * 100 + 0; +int KAFFE_VERSION = 1 * 100 + 6 * 1 + 0; } ___ kaffe mailing list [EMAIL PROTECTED] http://kaffe.org/cgi-bin/mailman/listinfo/kaffe
[kaffe] Kaffe 1.0.7 Release Candidate 1 available for download
Hi, I've made the 1.0.7-rc1 release available for download at: ftp://ftp.kaffe.org/pub/kaffe/testing/v1.0.x/kaffe-1.0.7-rc1.tar.gz http://www.kaffe.org/ftp/pub/kaffe/testing/v1.0.x/kaffe-1.0.7-rc1.tar.gz Please download it, compile it, and try it out. This is a test release of what will be 1.0.7. I'd like to get 1.0.7 final out quickly, since it's been 2 years since a production release of Kaffe has been made. The only changes between this version and the final version will be small bugfixes that fix major bugs (eg. compile bugs, security bugs), and some additional release documentation (eg. improved bug listing, list of working/broken ports). In the final release announcement, I'd like to list the platforms on which the release has been tested, and the results of the testing (good or bad). Please send any test reports to [EMAIL PROTECTED] Here is What's New in 1.0.7-rc1: This release is dedicated to the memory of Edouard G. Parmelan, one of the most active Kaffe developers, a member of the core team, and one of the driving forces behind the project. * Port to ia64 GNU/Linux * Port to s390 GNU/Linux * Port to PA-RISC GNU/Linux * Port to Darwin (Mac OS X). * JIT port for Alpha on Compaq Tru64, GNU/Linux. * Support of PowerPC without libffi. * New version of KJC (2.1A with patches from kopi CVS). * New encoding converters based on iconv(). * Lots of bug fixes. Cheers, - Jim ___ kaffe mailing list [EMAIL PROTECTED] http://kaffe.org/cgi-bin/mailman/listinfo/kaffe
[kaffe] Note on ftp site
Hi, With the release, I took the opportunity to rearrange the ftp site. I want to be making a lot more releases (in the spirit of Linux kernel development), and I needed a bit more structure for the site. It now looks a bit like this. pub/kaffe |-- binaries | |-- freebsd | |-- linux | `-- nextstep |-- testing | |-- v1.0.x | `-- v1.1.x |-- v0.x.x-historic |-- v1.0.x-production `-- v1.1.x-development I moved the pre-1.0.6 releases into their respective directories. I left a copy of kaffe-1.0.6.tar.gz in the top-level directory for now, since so many places have links to that file directly. Eventually, after 1.0.7 is out for a while, I'll get rid of kaffe-1.0.6.tar.gz in the top level. Cheers, - Jim ___ kaffe mailing list [EMAIL PROTECTED] http://kaffe.org/cgi-bin/mailman/listinfo/kaffe
Re: [kaffe] (Partial) success with RC1 under Linux/PPC
Cool. I don't have Linux on my iBook yet, so I couldn't test it. :-) I'll look at the AWT errors (I haven't done any AWT testing). I want to put your test results into the RELEASE-NOTES file - which engine did you compile with? (I'm guessing intrp) Cheers, - Jim On Sun, 2002-06-02 at 03:48, Carlos Valiente wrote: Hi, RC1 compiles OK under Linux/PPC (tested with YellowDog Linux 2.2). All regression tests pass successfully on my system: [carlos@rilke carlos]$ uname -a Linux rilke.hnb.local 2.4.18-0.9a #1 Sun Apr 7 21:37:27 EDT 2002 ppc unknown [carlos@rilke carlos]$ gcc -v Reading specs from /usr/lib/gcc-lib/ppc-yellowdog-linux/2.95.4/specs gcc version 2.95.4 20010319 (prerelease/franzo/20011204) [carlos@rilke carlos]$ /lib/libc.so.6 GNU C Library stable release version 2.2.5, by Roland McGrath et al. Copyright (C) 1992-2001, 2002 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. Compiled by GNU CC version 2.95.4 20010319 (prerelease/franzo/20011204). Compiled on a Linux 2.4.18-0.8a system on 2002-03-09. Available extensions: GNU libio by Per Bothner crypt add-on version 2.1 by Michael Glad and others linuxthreads-0.9 by Xavier Leroy BIND-8.2.3-T5B libthread_db work sponsored by Alpha Processor Inc NIS(YP)/NIS+ NSS modules 0.19 by Thorsten Kukuk software FPU emulation by Richard Henderson, Jakub Jelinek and others Report bugs using the `glibcbug' script to [EMAIL PROTECTED]. ** However ** , I'm not able to run any of the sample AWT applications under test/awt: [carlos@rilke Calc]$ /data/home/carlos/java/ppc-intrp/bin/java Calc java.lang.NullPointerException at java.awt.Toolkit.graInitGraphics(Toolkit.java:native) at java.awt.NativeGraphics.getGraphics(NativeGraphics.java:554) at java.awt.NativeGraphics.getClippedGraphics(NativeGraphics.java:444) at java.awt.TextField.setResGraphics(TextField.java:636) at java.awt.TextField.addNotify(TextField.java:79) at java.awt.Container.addNotify(Container.java:149) at java.awt.Container.addNotify(Container.java:149) at java.awt.Container.addNotify(Container.java:149) at java.awt.Window.addNotify(Window.java:67) at java.awt.Window.pack(Window.java:195) at Calc.init(Calc.java:104) at Calc.main(Calc.java:301) [carlos@rilke TextEdit]$ /data/home/carlos/java/ppc-intrp/bin/java -jar TextEdit.jar java.lang.NullPointerException at java.awt.Toolkit.graInitGraphics(Toolkit.java:native) at java.awt.NativeGraphics.getGraphics(NativeGraphics.java:554) at java.awt.NativeGraphics.getClippedGraphics(NativeGraphics.java:444) at java.awt.Component.getGraphics(Component.java:456) at java.awt.Scrollbar.update(Scrollbar.java:508) java.lang.NullPointerException at java.awt.Toolkit.graInitGraphics(Toolkit.java:native) at java.awt.NativeGraphics.getGraphics(NativeGraphics.java:554) at java.awt.NativeGraphics.getClippedGraphics(NativeGraphics.java:444) at java.awt.Component.getGraphics(Component.java:456) at java.awt.Scrollbar.update(Scrollbar.java:508) at java.awt.Scrollbar.setValues(Scrollbar.java:475) at java.awt.Scrollbar.setValues(Scrollbar.java:449) at TextCanvas.redoControls(TextCanvas.java:line unknown, pc 0xa4) at TextCanvas.componentResized(TextCanvas.java:line unknown, pc 0x10) at java.awt.Component.processComponentEvent(Component.java:1038) at java.awt.Component.processEvent(Component.java:1105) at java.awt.Component.process(Component.java:982) at java.awt.ComponentEvt.dispatch(ComponentEvt.java:65) at java.awt.EventDispatchThread.run(EventDispatchThread.java:35) at java.awt.Scrollbar.setValues(Scrollbar.java:475) at java.awt.Scrollbar.setValues(Scrollbar.java:449) at TextCanvas.redoControls(TextCanvas.java:line unknown, pc 0x5e) at TextCanvas.validate(TextCanvas.java:line unknown, pc 0x27) at java.awt.Container.validateTree(Container.java:734) at java.awt.Container.validate(Container.java:724) at java.awt.Window.show(Window.java:360) at java.awt.Component.show(Component.java:1672) at java.awt.Component.setVisible(Component.java:1632) at TextEdit.main(TextEdit.java:line unknown, pc 0x14) at java.lang.reflect.Method.invoke0(Method.java:native) at java.lang.reflect.Method.invoke(Method.java:256) at kaffe.jar.ExecJarName.main(ExecJarName.java:66) at kaffe.jar.ExecJar.main(ExecJar.java:71) [carlos@rilke WidgetsDemo]$ /data/home/carlos/java/ppc-intrp/bin/java WidgetsDemo java.lang.NullPointerException at
Re: [kaffe] (Partial) success with RC1 under Linux/PPC
And any other configure options you used (eg. --with-staticlib --with-staticvm --with-staticbinary). Cheers, - Jim On Sun, 2002-06-02 at 09:33, Jim Pick wrote: Cool. I don't have Linux on my iBook yet, so I couldn't test it. :-) I'll look at the AWT errors (I haven't done any AWT testing). I want to put your test results into the RELEASE-NOTES file - which engine did you compile with? (I'm guessing intrp) Cheers, - Jim On Sun, 2002-06-02 at 03:48, Carlos Valiente wrote: Hi, RC1 compiles OK under Linux/PPC (tested with YellowDog Linux 2.2). All regression tests pass successfully on my system: [carlos@rilke carlos]$ uname -a Linux rilke.hnb.local 2.4.18-0.9a #1 Sun Apr 7 21:37:27 EDT 2002 ppc unknown [carlos@rilke carlos]$ gcc -v Reading specs from /usr/lib/gcc-lib/ppc-yellowdog-linux/2.95.4/specs gcc version 2.95.4 20010319 (prerelease/franzo/20011204) [carlos@rilke carlos]$ /lib/libc.so.6 GNU C Library stable release version 2.2.5, by Roland McGrath et al. Copyright (C) 1992-2001, 2002 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. Compiled by GNU CC version 2.95.4 20010319 (prerelease/franzo/20011204). Compiled on a Linux 2.4.18-0.8a system on 2002-03-09. Available extensions: GNU libio by Per Bothner crypt add-on version 2.1 by Michael Glad and others linuxthreads-0.9 by Xavier Leroy BIND-8.2.3-T5B libthread_db work sponsored by Alpha Processor Inc NIS(YP)/NIS+ NSS modules 0.19 by Thorsten Kukuk software FPU emulation by Richard Henderson, Jakub Jelinek and others Report bugs using the `glibcbug' script to [EMAIL PROTECTED]. ** However ** , I'm not able to run any of the sample AWT applications under test/awt: [carlos@rilke Calc]$ /data/home/carlos/java/ppc-intrp/bin/java Calc java.lang.NullPointerException at java.awt.Toolkit.graInitGraphics(Toolkit.java:native) at java.awt.NativeGraphics.getGraphics(NativeGraphics.java:554) at java.awt.NativeGraphics.getClippedGraphics(NativeGraphics.java:444) at java.awt.TextField.setResGraphics(TextField.java:636) at java.awt.TextField.addNotify(TextField.java:79) at java.awt.Container.addNotify(Container.java:149) at java.awt.Container.addNotify(Container.java:149) at java.awt.Container.addNotify(Container.java:149) at java.awt.Window.addNotify(Window.java:67) at java.awt.Window.pack(Window.java:195) at Calc.init(Calc.java:104) at Calc.main(Calc.java:301) [carlos@rilke TextEdit]$ /data/home/carlos/java/ppc-intrp/bin/java -jar TextEdit.jar java.lang.NullPointerException at java.awt.Toolkit.graInitGraphics(Toolkit.java:native) at java.awt.NativeGraphics.getGraphics(NativeGraphics.java:554) at java.awt.NativeGraphics.getClippedGraphics(NativeGraphics.java:444) at java.awt.Component.getGraphics(Component.java:456) at java.awt.Scrollbar.update(Scrollbar.java:508) java.lang.NullPointerException at java.awt.Toolkit.graInitGraphics(Toolkit.java:native) at java.awt.NativeGraphics.getGraphics(NativeGraphics.java:554) at java.awt.NativeGraphics.getClippedGraphics(NativeGraphics.java:444) at java.awt.Component.getGraphics(Component.java:456) at java.awt.Scrollbar.update(Scrollbar.java:508) at java.awt.Scrollbar.setValues(Scrollbar.java:475) at java.awt.Scrollbar.setValues(Scrollbar.java:449) at TextCanvas.redoControls(TextCanvas.java:line unknown, pc 0xa4) at TextCanvas.componentResized(TextCanvas.java:line unknown, pc 0x10) at java.awt.Component.processComponentEvent(Component.java:1038) at java.awt.Component.processEvent(Component.java:1105) at java.awt.Component.process(Component.java:982) at java.awt.ComponentEvt.dispatch(ComponentEvt.java:65) at java.awt.EventDispatchThread.run(EventDispatchThread.java:35) at java.awt.Scrollbar.setValues(Scrollbar.java:475) at java.awt.Scrollbar.setValues(Scrollbar.java:449) at TextCanvas.redoControls(TextCanvas.java:line unknown, pc 0x5e) at TextCanvas.validate(TextCanvas.java:line unknown, pc 0x27) at java.awt.Container.validateTree(Container.java:734) at java.awt.Container.validate(Container.java:724) at java.awt.Window.show(Window.java:360) at java.awt.Component.show(Component.java:1672) at java.awt.Component.setVisible(Component.java:1632) at TextEdit.main(TextEdit.java:line unknown, pc 0x14) at java.lang.reflect.Method.invoke0(Method.java:native
Re: [kaffe] some nots on directory structure
My intention is to do definitely do some code rearranging. I had a pretty good layout/build system that I designed for the KaffePro work I did (with the intention that I'd introduce it here). Unfortunately, rearranging the code and changing the build system is a lot of work (and will create a lot of debate), so I'm going to put off introducing what I want to do for a week or so. Cheers, - Jim On Sun, 2002-06-02 at 05:29, Valentin Valchev wrote: Today I saw in kaffe that kaffe/kaffevm/systems contains all thread system implementations. But jit compilers and interpreter are not grouped in one directory Maybe there should be kaffe/kaffevm/engines/ containing interpreter and jits. This could ease configure process - list directories and then include them in build path. Same directory name as engine name. --- ProSyst Bulgaria Ltd.Valentin Valchev 48 Vladajska Str.Project Manager Sofia 1606, Bulgaria Dept: mBedded Server/Broadband http://www.prosyst.com/ Phone: +359 (2) 9523581-107 --- Leading Software Technology for Open Service Gateways ___ kaffe mailing list [EMAIL PROTECTED] http://kaffe.org/cgi-bin/mailman/listinfo/kaffe
Re: [kaffe] ase, Help Me...
Nice ... Only subscribers can post to the list ... this spammer actually went and subscribed. Grrr. Cheers, - Jim On Sun, 2002-06-02 at 18:08, Anderson e Elenita Teixeira wrote: Please, Help Me... I am Brazilian and I don't know anything about English, I am using a translating program to type that mail for you. I received the little a mail on an American company that pays for you to navigate and to read its propagandas, here in Brazil, that is a little complicated, that company calls herself SFI, and soon I lower of that mail, it is an address if it is possible you to enter and please they contact me. I don't want that seems a SPAM , because I am not sending that mail for everybody without knowing of anything, but for some addresses that I found navigating for some pages and other sites of selected groups. Please if it is possible he/she would like to know that it works and if it is possible you to pass me in summary form as it works. A list of the sites that I went cadastrado proceeds below! www.ezinfocenter.com/7319888 www.ezinfocenter.com/7319888/FREE www.ezinfocenter.com/7319888/HFB www.ezinfocenter.com/7319888/YES www.ezinfocenter.com/7319888/WYK www.ezinfocenter.com/7319888/IEF www.ezinfocenter.com/7319888/LD www.ezinfocenter.com/7319888/FCS www.ezinfocenter.com/7319888/NL www.ezinfocenter.com/7319888/SCM www.ezinfocenter.com/7319888/SFIM www.ezinfocenter.com/7319888/USMS www.ezinfocenter.com/7319888/GD www.ezinfocenter.com/7319888/DSL _ Comecei por CURIOSIDADE... Hoje tem sido REALIDADE... Entre se cadastre e use um tradutor se não souber Inglês. Pode ter certeza que gostará de navegar ganhando DINHEIRO www.ezinfocenter.com/7319888/NL http://www.ezinfocenter.com/7319888/FCS ___ kaffe mailing list [EMAIL PROTECTED] http://kaffe.org/cgi-bin/mailman/listinfo/kaffe
Re: [kaffe] Kaffe 1.0.7 Release Candidate 1 available for download
Thanks, I didn't know about that. Cheers, - Jim On Sun, 2002-06-02 at 18:55, Godmar Back wrote: Make sure you advance the version number in java.lang.Cloneable - Godmar Hi, I've made the 1.0.7-rc1 release available for download at: ftp://ftp.kaffe.org/pub/kaffe/testing/v1.0.x/kaffe-1.0.7-rc1.tar.gz http://www.kaffe.org/ftp/pub/kaffe/testing/v1.0.x/kaffe-1.0.7-rc1.tar.gz Please download it, compile it, and try it out. This is a test release of what will be 1.0.7. I'd like to get 1.0.7 final out quickly, since it's been 2 years since a production release of Kaffe has been made. The only changes between this version and the final version will be small bugfixes that fix major bugs (eg. compile bugs, security bugs), and some additional release documentation (eg. improved bug listing, list of working/broken ports). In the final release announcement, I'd like to list the platforms on which the release has been tested, and the results of the testing (good or bad). Please send any test reports to [EMAIL PROTECTED] Here is What's New in 1.0.7-rc1: This release is dedicated to the memory of Edouard G. Parmelan, one of the most active Kaffe developers, a member of the core team, and one of the driving forces behind the project. * Port to ia64 GNU/Linux * Port to s390 GNU/Linux * Port to PA-RISC GNU/Linux * Port to Darwin (Mac OS X). * JIT port for Alpha on Compaq Tru64, GNU/Linux. * Support of PowerPC without libffi. * New version of KJC (2.1A with patches from kopi CVS). * New encoding converters based on iconv(). * Lots of bug fixes. Cheers, - Jim ___ kaffe mailing list [EMAIL PROTECTED] http://kaffe.org/cgi-bin/mailman/listinfo/kaffe ___ kaffe mailing list [EMAIL PROTECTED] http://kaffe.org/cgi-bin/mailman/listinfo/kaffe ___ kaffe mailing list [EMAIL PROTECTED] http://kaffe.org/cgi-bin/mailman/listinfo/kaffe
Coding Style (was Re: [kaffe] MediaTracker)
On Fri, 2002-05-31 at 05:30, Dalibor Topic wrote: Hi Jukka, --- Jukka Santala [EMAIL PROTECTED] wrote: Thanks. I tested it, but I'd also like to comment on the style, as it was brought up. I just checked in a FAQ/FAQ.coding-style placeholder. I'm looking for a volunteer to turn that into a real document. Any takers? Cheers, - Jim ___ kaffe mailing list [EMAIL PROTECTED] http://kaffe.org/cgi-bin/mailman/listinfo/kaffe
Re: [kaffe] unix-jthreads timeout overflow fix
Looks good, I put it in. Cheers, - Jim On Fri, 2002-05-31 at 10:19, Timothy Stack wrote: hi, Attached is a fix for unix-jthreads that should better handle large timeout values. For example: synchronized( this ) { this.wait(Long.MAX_VALUE); } eventually reaches this code: jtid-time = timeout + currentTime(); which overflows and gives a bogus value. tim Index: jthread.c === RCS file: /cvs/kaffe/kaffe/kaffe/kaffevm/systems/unix-jthreads/jthread.c,v retrieving revision 1.86 diff -u -r1.86 jthread.c --- jthread.c 29 May 2002 19:46:24 - 1.86 +++ jthread.c 31 May 2002 17:11:56 - @@ -255,26 +255,34 @@ addToAlarmQ(jthread* jtid, jlong timeout) { jthread** tidp; + jlong ct; assert(intsDisabled()); - jtid-flags |= THREAD_FLAGS_ALARM; - - /* Get absolute time */ - jtid-time = timeout + currentTime(); - - /* Find place in alarm list and insert it */ - for (tidp = alarmList; (*tidp) != 0; tidp = (*tidp)-nextalarm) { - if ((*tidp)-time jtid-time) { - break; + ct = currentTime(); + if( (timeout + ct) ct ) { + jtid-flags |= THREAD_FLAGS_ALARM; + + /* Get absolute time */ + jtid-time = timeout + ct; + + /* Find place in alarm list and insert it */ + for (tidp = alarmList; + (*tidp) != 0; + tidp = (*tidp)-nextalarm) { + if ((*tidp)-time jtid-time) { + break; + } } - } - jtid-nextalarm = *tidp; - *tidp = jtid; - - /* If I'm head of alarm list, restart alarm */ - if (tidp == alarmList) { - MALARM(timeout); + jtid-nextalarm = *tidp; + *tidp = jtid; + + /* If I'm head of alarm list, restart alarm */ + if (tidp == alarmList) { + MALARM(timeout); + } + } else { + /* Huge timeout value, ignore it. */ } } @@ -2216,8 +2224,13 @@ * various building blocks for timeout system call functions */ #define SET_DEADLINE(deadline, timeout) \ - if (timeout != NOTIMEOUT) { \ - deadline = timeout + currentTime(); \ + if (timeout != NOTIMEOUT) { \ + jlong ct = currentTime(); \ + deadline = timeout + ct;\ + if( deadline ct ) { \ + deadline = 0; \ + timeout = NOTIMEOUT;\ + } \ } #define BREAK_IF_LATE(deadline, timeout) \ ___ kaffe mailing list [EMAIL PROTECTED] http://kaffe.org/cgi-bin/mailman/listinfo/kaffe
Re: [kaffe] Benchmarking kaffe using XSLTMark
On Thu, 2002-05-30 at 09:41, Dalibor Topic wrote: The bad news: we are slower than JDK 1.3.1. Especially xalan seems to suffer from class and resource loading. So I'd like to propose a new caching scheme for our system class loader: beside just caching classes, it should cache the directories (i.e. packages) in classpath entries. That should reduce the cost of class/resource lookup from linear (scanning the classpath) to constant (single classpath entry) for most resources. I recently read on the gcj list that Mark Mitchell had posted a patch for gcj that did something similar, which dramatically sped things up (especially on some platforms, where file/directory accesses are very expensive). I guess my only concern would be increased complexity and memory requirements for the cache... Cheers, - Jim ___ kaffe mailing list [EMAIL PROTECTED] http://kaffe.org/cgi-bin/mailman/listinfo/kaffe
[kaffe] Re: PATCH: truncated class handling
It looks good, so I checked it in. Tell me if I screwed it up. (The patch queue is looking a lot shorter...) Cheers, - Jim On Mon, 2002-04-15 at 15:49, Patrick Tullmann wrote: I discovered the other day that Kaffe didn't correctly handle truncated class files (it just segfaulted, and threw a null pointer exception). I figured this would be a relatively easy fix (just add some buffer length checks in various places in readClass). It wasn't. The main culprit was kaffeh, which used its own bastarized version of the readClass macros. I bashed on kaffeh until it was able to use the main kaffevm functions for reading classes, and took the opportunity to clean up a bunch of other things in kaffeh (and some in kaffevm). A completely unrelated hack to kaffe/scripts/kaffe.in to automatically figure out a unique name for KAFFE_DEBUG_TEMPFILE is also included. The patch (92k) and a ChangeLog entry are available here: http://www.tullmann.org/pat/kaffe/ I've attached the ChangeLog entry here. I can check this in, but want to know if I should check it in now, or if we should wait for after the 1.0.7 release. Other feedback or issues are welcomed, too. -Pat - - --- --- -- -- - - - Pat Tullmann [EMAIL PROTECTED] The early bird gets the worm, so sleep in. Pat Tullmann [EMAIL PROTECTED]: * kaffe/kaffeh/mem.c, kaffe/kaffeh/Makefile.am, kaffe/kaffeh/java_lang_ClassLoader.h, kaffe/kaffeh/java_lang_Object.h, kaffe/kaffeh/kaffeh-support.h, kaffe/kaffeh/main.c, kaffe/kaffeh/sigs.c, kaffe/kaffeh/support.c, kaffe/kaffevm/Makefile.am, kaffe/kaffevm/baseClasses.c, kaffe/kaffevm/classMethod.c, kaffe/kaffevm/classMethod.h, kaffe/kaffevm/classpath.h, kaffe/kaffevm/code.c, kaffe/kaffevm/code.h, kaffe/kaffevm/constants.c, kaffe/kaffevm/constants.h, kaffe/kaffevm/exception.c, kaffe/kaffevm/file.h, kaffe/kaffevm/lookup.c, kaffe/kaffevm/readClass.c, kaffe/kaffevm/readClass.h, kaffe/kaffevm/support.c, kaffe/kaffevm/utf8const.c: Handle truncated classes in readClass. Also took the opportunity to clean up some really ugly macros, and share more code between kaffevm and kaffeh. Moved the buffer reading macros used by readClass() into inline functions with asserts. Added many 'const' to various 'char *'. Split kaffeh mem-related code into a new file. kaffeh overrides various functions now, but does not override internal header files or macros. Cleaned up the kaffeh java_lang_* headers. Add -Xdebug option to kaffeh, as kaffeh can now use the kaffevm debug.c infrastructure. Moved class-specific constant table parsing macros into classMethod.h (out of constants.h). * kaffe/kaffeh/mem.c, kaffe/kaffevm/utfconst.h: Added as part of above. * kaffe/kaffeh/constants.c, kaffe/kaffeh/constants.h, * kaffe/kaffeh/file.h, kaffe/kaffeh/readClassConfig.h, * kaffe/kaffevm/readClassConfig.h: Removed as part of above. * kaffe/kaffevm/debug.c,kaffe/kaffevm/debug.h: Added READCLASS flag to debug infrastructure. dbgSetMaskStr() now takes a 'const char*'. debug.h is usable in Kaffeh, so many hacks were removed. Made GCC understand that kaffe_dprintf works just like printf, so it can debug the format strings (several debug format strings were fixed because of these valid warnings). * kaffe/kaffevm/findInJar.c, libraries/clib/native/ClassLoader.c Use the new file.h classFile interface, * kaffe/kaffevm/utf8const.h, kaffe/kaffevm/string.c, kaffe/kaffevm/stringSupport.h: To cleanly share the utf8 code between kaffeh and kaffevm, created kaffevm/utf8const.h which contains only the utf8-related functions, types and macros. * test/regression/Makefile.am, test/regression/TruncatedClass.java: Added a new regression test TruncatedClass.java that tests truncated classes. * kaffe/kaffevm/inflate.c, kaffe/kaffevm/jni.c, libraries/clib/native/Runtime.c Minor comment changes and cleanups * kaffe/kaffevm/mem/gc-incremental.c, kaffe/kaffevm/mem/gc-incremental.h, kaffe/kaffevm/mem/gc-mem.c, kaffe/kaffevm/mem/gc-mem.h: Added some asserts to the gc, and some more comments. * kaffe/scripts/kaffe.in: Try to automatically find a unique name for the KAFFE_DEBUG_TEMPFILE. ___ kaffe mailing list [EMAIL PROTECTED] http://kaffe.org/cgi-bin/mailman/listinfo/kaffe
Re: [kaffe] swing packages
On Sun, 2002-05-12 at 03:34, James Walker wrote: Is there anything in the works to include Java swing packages with the next version of Kaffe? We can't, since they are owned by Sun. I did notice, however, that the Classpath guys have reimplemented a few of the swing classes themselves. I want to get Classpath working with Kaffe in a future release. Cheers, - Jim ___ kaffe mailing list [EMAIL PROTECTED] http://kaffe.org/cgi-bin/mailman/listinfo/kaffe