Re: [kaffe] Bug report (java.io.StreamTokenizer)
On Tue, 2003-07-01 at 03:11, Ito Kazumitsu wrote: Hi, In message Re: [kaffe] Bug report (java.io.StreamTokenizer) on 03/06/30, Hermanni Hyytiälä [EMAIL PROTECTED] writes: (2) Comment characters must be checked before alphabetic characters and Sun's java.io.StreamTokenizer seems to do so. Otherwise, NBIO you mentioned cannot run properly. Hm, have you tested and if so how? Or does literature mentions about this? After a quick thought, I don't see any problem in the lexical order which is defined in nextToken-method of java.io.StreamTokenizer (JLS, 1st edition). As I said before, the program from NBIO defines '#' not only as a comment character but also as a word character. So if java.io.StreamTokenizer follows the rule of JLS 1st ed., as kaffe's does, '#' is treated as the begining of a word before it is treated as the begining of a comment. Yes. Exactly. I forgot that, and I apologize :). The fact that Sun's treats '#' as the begining of a comment shows that Sun's java.io.StreamTokenizer does not respect the rule of JLS 1st ed. As said, this *is* very interesting. Btw, I decided to test IBM's JDK 1.4.1 also and it runs similary the original NBIO's install test as Sun's JDK 1.4. So, the fundamental question seems to be that do we want that Kaffe respects JLS's (obsolete?) defintions, or non-open source implementions' functionality (i.e. a standard functionality, not only Sun, IBM also)? Also, I think it's a unfortunate that Java language doesn't have a standard which would compel non-open source communities to respect the standard. IMO, if there was a Java standard, it's possible that we never had this discussion ;). Finally, are you aware of this: http://linuxtoday.com/it_management/2003062301226NWDTRH ? -Hermanni ___ kaffe mailing list [EMAIL PROTECTED] http://kaffe.org/cgi-bin/mailman/listinfo/kaffe
Re: [kaffe] Bug report (java.io.StreamTokenizer)
Hi, On Tue, 2003-07-01 at 04:12, Ito Kazumitsu wrote: In message Re: [kaffe] Bug report (java.io.StreamTokenizer) on 03/07/01, Ito Kazumitsu [EMAIL PROTECTED] writes: (From the API doc) Each byte read from the input stream is regarded as a character in the range '\u' through '\u00FF'. The character value is used to look up five possible attributes of the character: white space, alphabetic, numeric, string quote, and comment character. Each character can have zero or more of these attributes. (And I guess) BUT ONLY THE ATTRIBUTE MOST RECENTLY ASSIGNED IS EFFECTIVE. Having tested various cases, I have had an impression that Sun's java.io.StreamTokenizer uses the following rule: ... (From the API doc) Each byte read from the input stream is regarded as a character in the range '\u' through '\u00FF'. The character value is used to look up five possible attributes of the character: white space, alphabetic, numeric, string quote, and comment character. Each character can have zero or more of these attributes. (And I guess) BUT ONLY THE ATTRIBUTE MOST RECENTLY ASSIGNED IS EFFECTIVE. ... And additionally, THE NUMERIC ATTRIBUTE IS KEPT EFFECTIVE EVEN IF OTHER ATTIBUTES ARE ASSIGNED. Very good research work Ito! :) Heh...this case is going well beyond the very interesting concept... -Hermanni ___ kaffe mailing list [EMAIL PROTECTED] http://kaffe.org/cgi-bin/mailman/listinfo/kaffe
Re: [kaffe] Bug report (java.io.StreamTokenizer)
--- Ito Kazumitsu [EMAIL PROTECTED] wrote: In message Re: [kaffe] Bug report (java.io.StreamTokenizer) on 03/07/01, Ito Kazumitsu [EMAIL PROTECTED] writes: (From the API doc) Each byte read from the input stream is regarded as a character in the range '\u' through '\u00FF'. The character value is used to look up five possible attributes of the character: white space, alphabetic, numeric, string quote, and comment character. Each character can have zero or more of these attributes. (And I guess) BUT ONLY THE ATTRIBUTE MOST RECENTLY ASSIGNED IS EFFECTIVE. And additionally, THE NUMERIC ATTRIBUTE IS KEPT EFFECTIVE EVEN IF OTHER ATTIBUTES ARE ASSIGNED. Applying the attached patch, I am getting the same results as Sun's. great work, Ito! please check it in. cheers, dalibor topic __ Do you Yahoo!? SBC Yahoo! DSL - Now only $29.95 per month! http://sbc.yahoo.com ___ kaffe mailing list [EMAIL PROTECTED] http://kaffe.org/cgi-bin/mailman/listinfo/kaffe
Re: [kaffe] Bug report (java.io.StreamTokenizer)
Hei Hermanni, --- Hermanni Hyytiälä [EMAIL PROTECTED] wrote: So, the fundamental question seems to be that do we want that Kaffe respects JLS's (obsolete?) defintions, or non-open source implementions' functionality (i.e. a standard functionality, not only Sun, IBM also)? Respect latest JDK API specs where you can, and do as Sun does where you must ;) Also, I think it's a unfortunate that Java language doesn't have a standard which would compel non-open source communities to respect the standard. IMO, if there was a Java standard, it's possible that we never had this discussion ;). An ISO or ECMA standard would be nice. I doubt though, that it would remove all ambiguities from the language, or the class library. Take http://www.kaffe.org/pipermail/kaffe/2003-May/042181.html for an example of how important it is to know how methods use each other internally. If a standard went down into that much detail, it might as well be published as source code ;) Finally, are you aware of this: http://linuxtoday.com/it_management/2003062301226NWDTRH We had a vey short thread about it last week: http://www.kaffe.org/pipermail/kaffe/2003-June/042780.html Nothing on RedHat's site seems to confirm it, so I think it's just some JavaOne fallout. I wouldn't put too high hopes into it, since Sun has been burned once with Java, and I doubt they will release their grip on the platform very soon. Especially with Microsoft trying hard to push .net everywhere. cheers, dalibor topic __ Do you Yahoo!? SBC Yahoo! DSL - Now only $29.95 per month! http://sbc.yahoo.com ___ kaffe mailing list [EMAIL PROTECTED] http://kaffe.org/cgi-bin/mailman/listinfo/kaffe
Re: [kaffe] [patch] Re: Computing remainders
On Mon, Jun 30, 2003 at 01:09:39AM -0700, Dalibor Topic wrote: I've attached a patch for the interpreter that should fix this issue for gcc-compiled interpreter on all platforms. It works for me on mips-irix and i386-linux interpreters. could you give it a try on m68k and powerpc? It work on PPC Debian GNU/Linux. regards - Marc -- #!/bin/sh set - `type $0` 'tr [a-zA-Z] [n-za-mN-ZA-M]';while [ $2 != ];do \ shift;done; echo 'frq -a -rc '`echo $0| $1 `'$UBZR/.`rpub signature|'`\ echo $1|$1`'`;rpub Jr ner fvtangher bs obet. Erfvfgnapr vf shgvyr!'|$1|sh ___ kaffe mailing list [EMAIL PROTECTED] http://kaffe.org/cgi-bin/mailman/listinfo/kaffe
Re: [kaffe] HAVE_move_float_const
Ciao Gerlando, --- Gerlando Falauto [EMAIL PROTECTED] wrote: Nope, it's perfectly clear but still I don't get your point. If you wanna be safe, shouldn't you just be CONSISTENT? Declare it as a float, and let the compiler decide what casts are appropriate. At this level, so long as I get what was meant to be passed (which is a *float*), I shouldn't really care what the compiler does. The point here is, I want a float constant Different versions of C 'standards' (and thus different versions of compilers) have had different interpretations of what you really meant to be passed when you wrote 'float'. :) See http://groups.google.de/groups?q=float+parameter+functionhl=delr=ie=UTF-8oe=UTF-8selm=3D8EF8EB.2000809%40mchsi.comrnum=7 for another nice explanation of the pitfalls involved. (which is 32-bit wide) exactly as it was written in the classfile, so I can move it to a register (as a 32-bit chunk). If the compiler wants to promote it as an internal optimization, that is none of my business! The C99 standard doesn't guarantee you'll have 32 bit wide floats. It doesn't even guarantee the floats will be 'base 2'. But fortunately, kaffe hasn't been ported to such a beast yet, AFAIK ;) On the other hand, we're talking about the jitter here, right? Then you of course you know more about types and their representations in the hardware. If I get it as a double, I have to cast it back to a float. Apart from the waste of time, is that guaranteed to be non-destructive? I don't think it's guaranteed to be non-destructive. NANs for example may not get to be the same NANs they were before... But anyway, if just using floats works for you, please port a patch and let others evaluate it. That's much easier than trying to interpret the C standard ;) cheers, dalibor topic __ Do you Yahoo!? SBC Yahoo! DSL - Now only $29.95 per month! http://sbc.yahoo.com ___ kaffe mailing list [EMAIL PROTECTED] http://kaffe.org/cgi-bin/mailman/listinfo/kaffe
Re: [kaffe] Bug report (java.io.StreamTokenizer)
: == Dalibor Topic [EMAIL PROTECTED] writes: : --- Ito Kazumitsu [EMAIL PROTECTED] wrote: In message Re: [kaffe] Bug report (java.io.StreamTokenizer) on 03/07/01, Ito Kazumitsu [EMAIL PROTECTED] writes: (And I guess) BUT ONLY THE ATTRIBUTE MOST RECENTLY ASSIGNED IS EFFECTIVE. And additionally, THE NUMERIC ATTRIBUTE IS KEPT EFFECTIVE EVEN IF OTHER ATTIBUTES ARE ASSIGNED. Applying the attached patch, I am getting the same results as Sun's. : great work, Ito! please check it in. I thought I was getting the same results as Sun's, but finally, I could not get exactly the same result. Attached is my new test program that generates various patterns of test cases and prints the results of them. And I put the results at: Sun's http://www.jsdi.or.jp/kaffe/StreamTokenizerTest2.out.Sun Kaffe's original java.io.StreamTokenizer http://www.jsdi.or.jp/kaffe/StreamTokenizerTest2.out.Kaffe Kaffe's patched java.io.StreamTokenizer http://www.jsdi.or.jp/kaffe/StreamTokenizerTest2.out.Kaffe2 Further guessing on how Sun's StreamTokenizer is working is needed. bash-2.05b$ cat StreamTokenizerTest2.java import java.io.*; public class StreamTokenizerTest2 { public static void main(String[] args) throws Exception { String[] a = new String[] {S, C, Q, W, N}; for (int i=1; i=5; i++) { Permutation.generate(a, i, new MainHandler()); } } private static class MainHandler extends Permutation.Handler { public void doit(Object[] array) { String[] args = new String[array.length + 1]; System.arraycopy(array, 0, args, 1, array.length); args[0] = 1; try { for (int i=0; iargs.length; i++) { System.out.print(args[i] + ); } System.out.println(); test(args); } catch (Exception e) {} } } private static void test(String[] args) throws Exception { StreamTokenizer tok = new StreamTokenizer(new FileInputStream(StreamTokenizerTest2.txt)); tok.resetSyntax(); int c = args[0].charAt(0); for (int i=1; iargs.length; i++) { if (args[i].equals(S)) tok.whitespaceChars(c, c); else if (args[i].equals(C)) tok.commentChar(c); else if (args[i].equals(Q)) tok.quoteChar(c); else if (args[i].equals(N)) tok.parseNumbers(); else if (args[i].equals(W)) tok.wordChars(c, c); } while (true) { int t = tok.nextToken(); if (t == StreamTokenizer.TT_NUMBER) { System.out.println(tok.nval + : + t); } else { System.out.println(tok.sval + : + t); } if (t == StreamTokenizer.TT_EOF) break; } } } bash-2.05b$ cat Permutation.java public class Permutation { public static void generate(Object[] array, int n, Handler h) { int l = array.length; if (n == 1) { for (int i = 0; i l; i++) { h.doit(new Object[] {array[i]}); } return; } final int N = n; final Handler H = h; for (int i = 0; i l; i++) { final Object OBJ = array[i]; Object[] a1 = new Object[l - 1]; System.arraycopy(array, 0, a1, 0, i); System.arraycopy(array, i+1, a1, i, l-i-1); class Handler1 extends Handler { public void doit(Object[] a2) { Object[] a3 = new Object[N]; System.arraycopy(a2, 0, a3, 1, N-1); a3[0] = OBJ; H.doit(a3); } }; generate(a1, n-1, new Handler1()); } return; } public static class Handler { public void doit(Object[] array) {} } } bash-2.05b$ cat StreamTokenizerTest2.txt 121 bash-2.05b$ ___ kaffe mailing list [EMAIL PROTECTED] http://kaffe.org/cgi-bin/mailman/listinfo/kaffe
Re: [kaffe] failed regression tests
Hi all, hi, * KaffeInternal.java: * /* Expected Output: java.lang.NoClassDefFoundError: kaffe/lang/ThreadStack */ what i got: java.lang.SecurityException: Prohibited package: kaffe/lang/ThreadStack I believe that what I got is the expected behavior, only that between the writing of the regression test and now the exception thrown for a class attempting to access something that it should not be accessing has changed. perhaps the expected output of the regression test should be updated? The NoClassDefFoundError is correct, I think. The SecurityException is because a non-primordial class loader has found the class file and is trying to define the class. However, the class file should only be in the boot class path and not the regular class path. So, you should make sure that rt.jar is not in CLASSPATH. Also, the current CVS version doesn't work for me at all: error compiling: java.lang.VerifyError: final method printArgs declared in class at/dms/kjc/CReferenceType is overriden in class at/dms/kjc/CClassNameType at at.dms.kjc.KjcTypeFactory.init(KjcTypeFactory.java:51) at at.dms.kjc.Main.createEnvironment(Main.java:235) at at.dms.kjc.Main.run(Main.java:116) at at.dms.kjc.Main.compile(Main.java:69) at at.dms.kjc.Main.main(Main.java:60) FAIL: HelloWorldApp.java Rob tim ___ kaffe mailing list [EMAIL PROTECTED] http://kaffe.org/cgi-bin/mailman/listinfo/kaffe
Re: [kaffe] failed regression tests
Hi Tim, The NoClassDefFoundError is correct, I think. The SecurityException is because a non-primordial class loader has found the class file and is trying to define the class. However, the class file should only be in the boot class path and not the regular class path. So, you should make sure that rt.jar is not in CLASSPATH. thanks :) i had stuck the rt.jar in my CLASSPATH a couple months ago for some side project i was working on and simply left it there. i'm all set now. Also, the current CVS version doesn't work for me at all: error compiling: java.lang.VerifyError: final method printArgs declared in class at/dms/kjc/CReferenceType is overriden in class at/dms/kjc/CClassNameType at at.dms.kjc.KjcTypeFactory.init(KjcTypeFactory.java:51) at at.dms.kjc.Main.createEnvironment(Main.java:235) at at.dms.kjc.Main.run(Main.java:116) at at.dms.kjc.Main.compile(Main.java:69) at at.dms.kjc.Main.main(Main.java:60) FAIL: HelloWorldApp.java this actually means that my verifier is working correctly :) i checked by using BCEL's JustIce verifier on at.dms.kjc.CCClassNameType and it rejected that class for the same reason. i'm going to email the KJC folks about this and see what they think. for now, i could simply change the printArgs method in CReferenceType to not be final so that we can run regression tests using KJC. is it cool to change the KJC source in kafe CVS's source tree? for now, if you use jikes 1.18 you should pass all the regression tests. or you can use KJC but make sure you pass the -noverify flag to kaffe to get over KJC's internal error. or add KJC's jar to the bootclasspath. cheers, Rob ___ kaffe mailing list [EMAIL PROTECTED] http://kaffe.org/cgi-bin/mailman/listinfo/kaffe
Re: [kaffe] HAVE_move_float_const
On Tue, 1 Jul 2003, Dalibor Topic wrote: Ciao Gerlando, --- Gerlando Falauto [EMAIL PROTECTED] wrote: Nope, it's perfectly clear but still I don't get your point. If you wanna be safe, shouldn't you just be CONSISTENT? Declare it as a float, and let the compiler decide what casts are appropriate. At this level, so long as I get what was meant to be passed (which is a *float*), I shouldn't really care what the compiler does. The point here is, I want a float constant Different versions of C 'standards' (and thus different versions of compilers) have had different interpretations of what you really meant to be passed when you wrote 'float'. :) See http://groups.google.de/groups?q=float+parameter+functionhl=delr=ie=UTF-8oe=UTF-8selm=3D8EF8EB.2000809%40mchsi.comrnum=7 for another nice explanation of the pitfalls involved. (which is 32-bit wide) exactly as it was written in the classfile, so I can move it to a register (as a 32-bit chunk). If the compiler wants to promote it as an internal optimization, that is none of my business! The C99 standard doesn't guarantee you'll have 32 bit wide floats. It doesn't even guarantee the floats will be 'base 2'. But fortunately, kaffe hasn't been ported to such a beast yet, AFAIK ;) Well but we have the guarantee that *java floats* are 32-bit wide right? So shouldn't we use that, again, for consistency? Shouldn't all the immediates be 'jint', 'jlong', whatever, for that matter? On the other hand, we're talking about the jitter here, right? Then you of course you know more about types and their representations in the hardware. If I get it as a double, I have to cast it back to a float. Apart from the waste of time, is that guaranteed to be non-destructive? I don't think it's guaranteed to be non-destructive. NANs for example may not get to be the same NANs they were before... That's my point. If Kaffe read a jfloat constant from a .class file, I want my back end to get *exactly* that jfloat, not some other converted stuff! But hey, that is only an issue if I have any float immediate in the instruction stream, otherwise that doesn't matter, at all. But anyway, if just using floats works for you, please port a patch and let others evaluate it. That's much easier than trying to interpret the C standard ;) That contradicts a lot of good software engineering principles, but I got to admit, that's the way it is. ;) Gerlando ___ kaffe mailing list [EMAIL PROTECTED] http://kaffe.org/cgi-bin/mailman/listinfo/kaffe
[kaffe] new machine-dependent source file
Hi Automake/autoconf experts, is there any way to add a new machine-dependent assembler (.s) or C (.c) file to the build process, and put it my config/cpu or config/cpu/os dir? I tried creating a cpu/os/Makefile.frag as its done in the engines and threadsystems directories, but that didn't quite work... I know .c files I can #include in config/cpu/os/md.c, but I guess that's not the case for .s files (though they get compiled by the same command line). Please don't tell me to write inline assembler in a .c file. Argh, my compiler doesn't support that. Thank you all! Gerlando ___ kaffe mailing list [EMAIL PROTECTED] http://kaffe.org/cgi-bin/mailman/listinfo/kaffe
Re: [kaffe] new machine-dependent source file
Hi Automake/autoconf experts, is there any way to add a new machine-dependent assembler (.s) or C (.c) file to the build process, and put it my config/cpu or config/cpu/os dir? I tried creating a cpu/os/Makefile.frag as its done in the engines and threadsystems directories, but that didn't quite work... It appears that the configure script looks for Make.frag and not Makefile.frag. Ah, gotta love the consistency... Thank you all! Gerlando tim ___ kaffe mailing list [EMAIL PROTECTED] http://kaffe.org/cgi-bin/mailman/listinfo/kaffe
Re: [kaffe] Bug report (java.io.StreamTokenizer)
* == Ito Kazumitsu [EMAIL PROTECTED] writes: * Further guessing on how Sun's StreamTokenizer is working is needed. Afer a lot of try-and-error testing, I found that the following patch gives the same result as Sun's. I will commit it after making a document about this change. --- java/io/StreamTokenizer.java.orig Tue Feb 19 09:48:11 2002 +++ java/io/StreamTokenizer.javaWed Jul 2 00:41:47 2003 @@ -74,7 +74,12 @@ public void commentChar(int ch) { if (ch = 0 ch = 255) { - lookup(ch).isComment = true; + TableEntry e = lookup(ch); + e.isComment = true; + e.isStringQuote = false; + e.isWhitespace = false; + e.isAlphabetic = false; + e.isNumeric = false; } } @@ -116,14 +121,6 @@ /* Skip whitespace and return nextTokenType */ parseWhitespaceChars(chr); } - else if (e.isNumeric) { - /* Parse the number and return */ - parseNumericChars(chr); - } - else if (e.isAlphabetic) { - /* Parse the word and return */ - parseAlphabeticChars(chr); - } /* Contrary to the description in JLS 1.ed, C C++ comments seem to be checked before other comments. That actually @@ -142,6 +139,14 @@ /* skip comment and return nextTokenType() */ parseCommentChars(); } + else if (e.isNumeric) { + /* Parse the number and return */ + parseNumericChars(chr); + } + else if (e.isAlphabetic) { + /* Parse the word and return */ + parseAlphabeticChars(chr); + } else if (e.isStringQuote) { /* Parse string and return word */ parseStringQuoteChars(chr); @@ -231,7 +236,7 @@ buffer.append((char)chr); chr = chrRead(); - } while (lookup(chr).isNumeric + } while (lookup(chr).isAnywayNumeric chr != '-' !(chr == '.' dotParsed)); @@ -411,6 +416,7 @@ e.isAlphabetic = false; e.isStringQuote = false; e.isNumeric = false; + e.isAnywayNumeric = false; e.isComment = false; e.isWhitespace = false; } @@ -432,10 +438,20 @@ public void parseNumbers() { for (int letter = '0'; letter = '9'; letter++) { - lookup(letter).isNumeric = true; + setNumeric(letter); } - lookup('.').isNumeric = true; - lookup('-').isNumeric = true; + setNumeric('.'); + setNumeric('-'); +} + +private void setNumeric(int letter) { + TableEntry e = lookup(letter); + e.isNumeric = true; + e.isAnywayNumeric = true; + // e.isWhitespace = false; + e.isStringQuote = false; + e.isComment = false; + e.isAlphabetic = false; } public void pushBack() { @@ -444,7 +460,12 @@ public void quoteChar(int ch) { if (ch = 0 ch = 255) { - lookup(ch).isStringQuote = true; + TableEntry e = lookup(ch); + e.isComment = false; + e.isStringQuote = true; + e.isWhitespace = false; + e.isAlphabetic = false; + e.isNumeric = false; } } @@ -547,6 +568,8 @@ for (int letter = low; letter = hi; letter++) { TableEntry e = lookup(letter); e.isWhitespace = true; + e.isComment = false; + e.isStringQuote = false; e.isAlphabetic = false; e.isNumeric = false; } @@ -562,7 +585,12 @@ } for (int letter = low; letter = hi; letter++) { - lookup(letter).isAlphabetic = true; + TableEntry e = lookup(letter); + e.isAlphabetic = true; + e.isComment = false; + e.isStringQuote = false; + // e.isWhitespace = false; + // e.isNumeric = false; } } @@ -576,6 +604,7 @@ class TableEntry { private boolean isNumeric; +private boolean isAnywayNumeric; private boolean isWhitespace; private boolean isAlphabetic; private boolean isStringQuote; ___ kaffe mailing list [EMAIL PROTECTED] http://kaffe.org/cgi-bin/mailman/listinfo/kaffe
Re: [kaffe] new machine-dependent source file
On Tue, 1 Jul 2003, Timothy Stack wrote: I tried creating a cpu/os/Makefile.frag as its done in the engines and threadsystems directories, but that didn't quite work... It appears that the configure script looks for Make.frag and not Makefile.frag. Ah, gotta love the consistency... Tried that, didn't work either. It said: CPU_SOURCES = sysdepCallMethod.s No other platform seems to do that so I am the only one with this problem I think... PLEASE HELP! ;-) Gerlando ___ kaffe mailing list [EMAIL PROTECTED] http://kaffe.org/cgi-bin/mailman/listinfo/kaffe
Re: [kaffe] new machine-dependent source file
On Tue, 1 Jul 2003, Timothy Stack wrote: I tried creating a cpu/os/Makefile.frag as its done in the engines and threadsystems directories, but that didn't quite work... It appears that the configure script looks for Make.frag and not Makefile.frag. Ah, gotta love the consistency... Tried that, didn't work either. It said: CPU_SOURCES = sysdepCallMethod.s Did you add $(CPU_SOURCES) to the libkaffevm_la_SOURCES variable in kaffe/kaffevm/Makefile.am and regenerate it? No other platform seems to do that so I am the only one with this problem I think... PLEASE HELP! ;-) see config/mips/ultrix4/Make.frag Gerlando tim ___ kaffe mailing list [EMAIL PROTECTED] http://kaffe.org/cgi-bin/mailman/listinfo/kaffe
Re: [kaffe] HAVE_move_float_const
Hi everyone, hi, (especially the JIT back-end coders) does anyone have any idea why _slot_slot_fconst is declared void _slot_slot_fconst(SlotInfo*, SlotInfo*, double, ifunc, int) ^^ shouldn't there be a float instead? Can you update and try again. Gerlando thanks, tim ___ kaffe mailing list [EMAIL PROTECTED] http://kaffe.org/cgi-bin/mailman/listinfo/kaffe
[kaffe] Kaffe CVS: kaffe stack
CVSROOT:/cvs/kaffe Module name:kaffe Changes by: stack 03/07/01 08:56:57 Modified files: . : ChangeLog configure configure.in kaffe/kaffevm/jit3: basecode.c basecode.h icode.c registers.h Log message: 2003-07-01 Timothy S. Stack [EMAIL PROTECTED] * configure.in: Autoheader doesn't understand --localdir anymore. * kaffe/kaffevm/jit3/basecode.c, kaffe/kaffevm/jit3/basecode.h, kaffe/kaffevm/jit3/icode.c, kaffe/kaffevm/jit3/registers.h: Load/Store float constants as floats and not doubles, otherwise the jitted code will read floats from the constant pool that were stored as doubles. Reported by: Gerlando Falauto [EMAIL PROTECTED] ___ kaffe mailing list [EMAIL PROTECTED] http://kaffe.org/cgi-bin/mailman/listinfo/kaffe
Re: [kaffe] Kaffe Architecture Documentation
Hi Gerlando, As someone who recently finished an undergraduate thesis involving modifications to kaffe, I think such a document would be greatly appreciated by anyone thinking about using the project for their work (and anyone interested in jumping in to help out!). The document would be most useful if it would refer to specific FAQ's when appropriate or to specific files and snippets of code. As an example of such a work, the Jikes RVM people have some serious documentation around about their project. Actually, the two major reasons I went with kaffe over the Jikes RVM for my work, despite the better documentation of Jikes RVM, were the people on this list (who were _much_ more helpful in answering my initial questions) and the fact that kaffe was GPL'd (I don't know how I feel about the IBM Open Source License). LaTex is great, of course, and if you're including it in your thesis that's probably the way you'd have to go. But standard HTML docs might be more user-friendly and would make it easier for others to contribute to the document later on. Maybe you could write it originally in LaTex for your thesis export it as HTML for others to use, or vice versa. Either way, it would definitely be a cool thing to have around. kaffe is an intimidating project for newbies to tackle without a good road map. Rob On Tue, 1 Jul 2003, Gerlando Falauto wrote: Hi folks, has there been an effort to write some organic documentation about the Kaffe Architecture? Something a newbie could read to get an idea of what kaffe's made of and how it works? I was thinking of writing such a document and including it as a chapter of my thesis. What do you guys think? Any suggestions? I was thinking of using latex for the whole thing, is that a bad idea? 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? Thanks everybody! Gerlando ___ 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 Architecture Documentation
Ciao Gerlando, --- Gerlando Falauto [EMAIL PROTECTED] wrote: Hi folks, has there been an effort to write some organic documentation about the Kaffe Architecture? Something a newbie could read to get an idea of what kaffe's made of and how it works? Nothing official, unfortunately. A couple of files here and there. But such an effort would be very appreciated. I was thinking of writing such a document and including it as a chapter of my thesis. What do you guys think? Any suggestions? I was thinking of using latex for the whole thing, is that a bad idea? Latex is a good choice, since you want to incorporate the docs in your thesis. I personally think in the long run using DocBook might be better. Unfortonately the DocBook tools are not up to the level of reliability of LaTeX, from what I've seen. So just use whatever suits you best, as long it's an open format. MS Word DOC files would be really, really bad ;) 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 cheers, dalibor topic __ Do you Yahoo!? SBC Yahoo! DSL - Now only $29.95 per month! http://sbc.yahoo.com ___ kaffe mailing list [EMAIL PROTECTED] http://kaffe.org/cgi-bin/mailman/listinfo/kaffe
Re: [kaffe] HAVE_move_float_const
Ciao Gerlando, --- Gerlando Falauto [EMAIL PROTECTED] wrote: On Tue, 1 Jul 2003, Dalibor Topic wrote: --- Gerlando Falauto [EMAIL PROTECTED] wrote: The C99 standard doesn't guarantee you'll have 32 bit wide floats. It doesn't even guarantee the floats will be 'base 2'. But fortunately, kaffe hasn't been ported to such a beast yet, AFAIK ;) Well but we have the guarantee that *java floats* are 32-bit wide right? So shouldn't we use that, again, for consistency? Shouldn't all the immediates be 'jint', 'jlong', whatever, for that matter? sounds reasonable to me. I'd like to hear what Tim Helmer think about it. But anyway, if just using floats works for you, please port a patch and let others evaluate it. That's much easier than trying to interpret the C standard ;) That contradicts a lot of good software engineering principles, but I got to admit, that's the way it is. ;) In my opinion working code beats proposals. I think that's how linux was developed, and it was quite successful so far ;) cheers, dalibor topic __ Do you Yahoo!? SBC Yahoo! DSL - Now only $29.95 per month! http://sbc.yahoo.com ___ kaffe mailing list [EMAIL PROTECTED] http://kaffe.org/cgi-bin/mailman/listinfo/kaffe
Re: [kaffe] failed regression tests
--- Rob Gonzalez [EMAIL PROTECTED] wrote: Hi Tim, The NoClassDefFoundError is correct, I think. The SecurityException is because a non-primordial class loader has found the class file and is trying to define the class. However, the class file should only be in the boot class path and not the regular class path. So, you should make sure that rt.jar is not in CLASSPATH. thanks :) i had stuck the rt.jar in my CLASSPATH a couple months ago for some side project i was working on and simply left it there. i'm all set now. brief, helpful and up-to-the-point responses to weird issues ... that means Tim must be back from holidays ;) this actually means that my verifier is working correctly :) i checked by using BCEL's JustIce verifier on at.dms.kjc.CCClassNameType and it rejected that class for the same reason. i'm going to email the KJC folks about this and see what they think. for now, i could simply change the printArgs method in CReferenceType to not be final so that we can run regression tests using KJC. is it cool to change the KJC source in kafe CVS's source tree? I think the right way is as you propose: to go ahead and fix kjc. But you should check with jim first to see how far the effort to import kjc (and other external jars) into kaffe's CVS has come. See http://www.kaffe.org/pipermail/kaffe/2003-June/042806.html and please ignore the following licensing discussion ;) cheers, dalibor topic __ Do you Yahoo!? SBC Yahoo! DSL - Now only $29.95 per month! http://sbc.yahoo.com ___ kaffe mailing list [EMAIL PROTECTED] http://kaffe.org/cgi-bin/mailman/listinfo/kaffe
[kaffe] locks patch
Hi, I've attached a small patch that fixes some issues related to the handling of locks in kaffe. Review and comments appreciated ;) Stuff contained in the patch: * the specialLocks array is removed; special locks whose heavyLock should not be gc_malloc'ed are now of type struct _iStaticLock, which contains a struct _iLock field. * _slowUnlockMutex correctly handles !STACK_GROWS_UP * _slowUnlockMutexIfHeld no longer allocates a heavyLock if that's unnecessary * _releaseLock and _acquireLock have been removed since they don't seem to be used anywhere * _lockMutex uses jthread_on_current_stack to detect recursive invocations Greetings, Helmer locks-patch Description: Binary data
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