Re: Bug tracker link

2005-03-23 Thread Patrik Reali
Looks like I missed a post. What shall the correct link be?
Thanks,
 Patrik

--On Mittwoch, 23. März 2005 21:26 +0100 Mark Wielaard [EMAIL PROTECTED] 
wrote:

Hi,
On Wed, 2005-03-23 at 20:20 +0100, Dalibor Topic wrote:
I just noticed that the bug tracker link on the classpath page points to
the Savannah one, and directed someone to put a bug report in there,
istead of directing them to the gcc bug tracker.
Mea culpas aside, should the link on www.classpath.org be changed to
point to the new bug tracker?
We haven't moved the bugs yet. I hope it can be done end of next week.
I will contact the gcc bugmasters again.
Cheers,
Mark
--
Escape the Java Trap with GNU Classpath!
http://www.gnu.org/philosophy/java-trap.html
Join the community at http://planet.classpath.org/


___
Classpath mailing list
Classpath@gnu.org
http://lists.gnu.org/mailman/listinfo/classpath


Re: GNU Classpath 0.14 released

2005-03-21 Thread Patrik Reali
Sorry, I'll try to update this tonight.
-Patrik

--On Freitag, 18. März 2005 10:02 +0100 Thomas Zander [EMAIL PROTECTED] 
wrote:

Ehm..
0.14 again? [1]
Perhaps you should update the download page more often?
http://www.gnu.org/software/classpath/downloads/downloads.html
Cheers!
1) http://lists.gnu.org/archive/html/classpath/2005-02/msg00109.html
--
Thomas Zander


___
Classpath mailing list
Classpath@gnu.org
http://lists.gnu.org/mailman/listinfo/classpath


Re: Documentation generated with gjdoc

2005-01-26 Thread Patrik Reali
--On Dienstag, 11. Januar 2005 23:34 +0100 Mark Wielaard [EMAIL PROTECTED] 
wrote:
Hi,
On Tue, 2005-01-11 at 04:16 -0500, David Gilbert wrote:
Mark Wielaard wrote:
  Will this be available from a link on the GNU
Classpath homepage?
The idea is to have the documentation of the latest released versions
actually on http://www.gnu.org/software/classpath/ en keep the version
on developer.classpath.org as our moving target (daily build when we
switch to a new server). Putting stuff on www.gnu.org is a bit difficult
since the last compromise of the gnu.org servers. Anything not going
through savannah CVS has to go through an admin. But I hope that when
0.14 is released we can give them the finalized doc.tar.gz to upload.
Well, for the time being and temporarily, I've added a link from the 
http://www.classpath.org/docs/docs.html to the doc on 
developer.classpath.org

Once the release doc is uploded, I will switch or even better, keep two 
links (last release and current code).

-Patrik
___
Classpath mailing list
Classpath@gnu.org
http://lists.gnu.org/mailman/listinfo/classpath


Re: Sleeping at FOSDEM

2005-01-14 Thread Patrik Reali
Hi!
just to say that this year I won't attend FOSDEM; I really would like to, 
but  I'm in California till the end of march.

-Patrik
--On Freitag, 14. Januar 2005 17:53 + Robert Lougher 
[EMAIL PROTECTED] wrote:

Hi,
Are many people from the runtimes going?  I really enjoyed it last
year, and I'd like to go again this year.
Rob.
On Fri, 14 Jan 2005 18:19:47 +0100, Arnaud Vandyck [EMAIL PROTECTED] wrote:
Thu, 13 Jan 2005 10:32:41 +0100,
Sascha Brawer [EMAIL PROTECTED] wrote:
 Sounds pretty cool. Actually, who is going to FOSDEM? May
 ex-classpath-hackers-gone-lurking come, too?
Good to hear you Sascha! Of course you are welcome! ;-)
--
Arnaud Vandyck
 ,= ,-_-. =.
((_/)o o(\_))
 `-'(. .)`-'
 \_/
___
Classpath mailing list
Classpath@gnu.org
http://lists.gnu.org/mailman/listinfo/classpath

___
Classpath mailing list
Classpath@gnu.org
http://lists.gnu.org/mailman/listinfo/classpath


___
Classpath mailing list
Classpath@gnu.org
http://lists.gnu.org/mailman/listinfo/classpath


cvsignore files

2004-07-31 Thread Patrik Reali
Hi!
I just noticed that most of the cvsignore files where removed.
Now, when checking for changed files (e.g. cvs -n -q upd) all the 
Makefile and Makefile.in show up though they are not meant to be in the cvs.

What was the reason for removing them?
-Patrik

___
Classpath mailing list
[EMAIL PROTECTED]
http://lists.gnu.org/mailman/listinfo/classpath


Re: classpath 0.10 and GCJ Version 3.3.3 20040215

2004-07-21 Thread Patrik Reali
Michael Koch programmed a nightly build executed every night, which is 
compiled with jikes 1.16. on a Suse 8.1 machine (with a few patches)

Maybe this could be extended to use more compilers and versions thereof?
-Patrik
--On Mittwoch, 21. Juli 2004 09:10 +0200 Mark Wielaard [EMAIL PROTECTED] 
wrote:

Hi Steve,
On Tue, 2004-07-20 at 23:27, Steven Augart wrote:
I just accidentally tried to build Classpath 0.10 using GCJ (I was
using an AIX machine, and I'd left Jikes out of my path).  The GCJ
version is:
gcj (GCC) 3.3.3 20040215 (release)
This gave the error:
 /usr/gnu/bin/gcj --bootclasspath '' --classpath
 ../../classpath-0.10:../../classpath-0.10/external/jaxp/source:../v
 m/current:.: -C -d . @classes
../../classpath-0.10/java/security/cert/X509Certificate.java:143: error:
Class `java.security.cert.X509Certificate' can't subclass interface
`java.security.Certificate'. public abstract class X509Certificate
   extends Certificate implements X509Extension
The configure script currently tests whether GCJ, if used, has at
least version 3.3.  This doesn't seem to be adequate to get around
the error.
Does anybody know what version of gcj we need to avoid this
complaint?  We should update the configure script appropriately.
The release was tested against gcj (GCC) 3.3.4 (Debian 1:3.3.4-3) and
gcj CVS. Hopefully 3.3.4 is enough. But I see that Debian actually
includes a couple of patches for the compiler... One of which looks like
it was for the above issue. Darn. So you might actually need the 3.4 FSF
release.
The official policy is to make sure that the java source files can be
compiled against the latest official releases of gcj and jikes. (So if
gcj 3.4 and/or jikes 2.21 don't work, we have a bit of a problem.) But
in practice (in my case) this often means the last releases of gcj and
jikes in Debian. We do have a problem in any case since at least the
INSTALL/hacking-guide document doesn't explicitly say that (and the
configure script version check could indeed be updated).
Cheers,
Mark


___
Classpath mailing list
[EMAIL PROTECTED]
http://lists.gnu.org/mailman/listinfo/classpath


Q: How do you keep your sources in synch?

2004-04-11 Thread Patrik Reali
Hi,

I'd like to add this topic to the FAQ, thus I'm looking for hard evidence 
on this topic.

I was wondering, how the various VM deal with changes in the classpath code 
(I assume you have a customized version of classpath). Are you importing 
them by hand or rely on some automated tool?

Before being able to use classpath out of the box, I relied on cvs (cvs 
import and cvs checkout -jOLDVERSION -jNEWVERSION), which worked well as 
long as the differences were not to big.

What is your experience?

-Patrik

___
Classpath mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/classpath


Re: Bad link for 0.08 download?

2004-04-05 Thread Patrik Reali
Hi Stephane,

you are right! The file was renamed. (Anyone know more?)

Have a look into ftp://alpha.gnu.org/gnu/classpath/ for the released 
files.

Classpath is released on the alpha server, because is still heavily under 
development.

-Patrik

--On Montag, 5. April 2004 09:47 +0100 S. Meslin-Weber 
[EMAIL PROTECTED] wrote:

Hi guys,

I tried downloading classpath-0.08.tgz from the downloads page last
night and it looks like the URL is pointing to the alpha gnu ftp site.
Shouldn't that be poiting to the regular gnu ftp site?
Thanks,

Stephane

___
Classpath mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/classpath




___
Classpath mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/classpath


Re: Bad link for 0.08 download?

2004-04-05 Thread Patrik Reali
ok, I'm sorry for the confusion. I'll update the download page accordingly.

-Patrik

--On Dienstag, 6. April 2004 00:07 +0200 Mark Wielaard [EMAIL PROTECTED] 
wrote:

Hi,

On Mon, 2004-04-05 at 23:46, Patrik Reali wrote:
you are right! The file was renamed. (Anyone know more?)

Have a look into ftp://alpha.gnu.org/gnu/classpath/ for the released
files.
Classpath is released on the alpha server, because is still heavily
under  development.
No sorry. I thought I had announced it clearly. But obviously I didn't.
Since 0.08 the snapshot releases are only hosted on ftp.gnu.org. We now
only put test releases on alpha.gnu.org. alpha.gnu.org doesn't keep
backups and although we see the GNU Classpath snapshots as works in
progress it seems people do rely on them. So from now on we put them on
ftp://ftp.gnu.org/gnu/classpath/ to make sure they are mirrored and
backed up.
The 0.08-test1 release found on alpha is indeed just a test release made
a few days before the real 0.08 release.
Cheers,

Mark

P.S. This is also the reason we don't have any official pre 0.06
releases anymore. They were never backed up and nobody had the official
old release files anymore. We could regenerate them from CVS of course,
but nobody bothered to do that.




___
Classpath mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/classpath


Re: Classpath build process and VM-specific issues

2004-03-28 Thread Patrik Reali


--On Samstag, 27. März 2004 21:00 -0500 Etienne Gagnon 
[EMAIL PROTECTED] wrote:
Note to Patrik:  I thought you would have noticed, by now, that I was
only trying to tell about a subset of the VMs that use Classpath without
using 10 words.  (See other messages for a better description).  I used
normal as in normally built.  I did not intend to say better or
worse.
Hi Etienne,

I want to apologize to you if my comment offended you; it was not meant 
that way.

-Patrik

___
Classpath mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/classpath


Re: Classpath build process and VM-specific issues

2004-03-27 Thread Patrik Reali
Classpath is not meant to live on its own;  it is either meant to be used
as a class library for a compiler (e.g. jikes), or as a class library for
a virtual machine (gcj, JikesRVM, SableVM, Kaffe, ...).
So, I suggest to change the configure.ac to force ./configure to
require a --with-vm=xxx option.  In other words, there would not
be a default Classpath configuration.  The motivation is that when
a user builds a Classpath version, he intends to use it in some
context.  There is no default set of options that would work for
all possible uses of Classpath.  In fact, each possible default
configuration would favor one VM or one compiler over the others.
This doesn't apply to Jaos: it uses Classpath out of the box; some methods 
are overridden by an Oberon implementation, but it still requires the java 
class in the beginning.

There seems to be at least 4 VM whose configuration corresponds to the 
current default configuration

I think this defeats the purpose of being a library for all VM and 
compilers around, and raises the entry barrier for new ones.

The objective:  Share as much code between normal VMs (that need nothing
really special in base classes), and intuitive source file locations.
Sharing is possible only when this code written in java, because this is 
the only common denominator all VM use!

And how do you define normal anyway? Only technology that is at least 20 
years old?

-Patrik


Patrik Reali
http://www.reali.ch/~patrik/
http://www.oberon.ethz.ch/jaos/


___
Classpath mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/classpath


[Article] The Future of OSS Desktop Development: Java, Mono, or C++?

2004-03-17 Thread Patrik Reali
Sorry for keeping you from your productive work, but one recent article 
Java, Mono, or C++ referenced in OSNews is quite interesting and 
detailed. It mentions GNU Classpath, GCJ, and IKVM.

The article Java, Mono, or C++:
http://ometer.com/desktop-language.html
The OSNews news item and discussion around it:
http://www.osnews.com/story.php?news_id=6379
Cheers,
 Patrik

Patrik Reali
http://www.reali.ch/~patrik/


___
Classpath mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/classpath


Re: Java Security classes available

2004-03-15 Thread Patrik Reali
Hi,

I'll take care of this.

-Patrik


Patrik Reali
http://www.reali.ch/~patrik/
--On Sonntag, 14. März 2004 11:15 +0100 Ewout Prangsma [EMAIL PROTECTED] 
wrote:

Hi all,

In JNode (a Java OS using a derived classpath version) we've implemented
the Java Security architecture. During the implementation several bugs in
classpath have been fixed. If you need them, feel free to get them from
our CVS server (http://cvs.sourceforge.net/viewcvs.py/jnode after a SF
delay) or contact me.
The following classes have been fixed / created

gnu.java.security.PolicyFile
gnu.java.security.actions.GetBooleanAction
gnu.java.security.actions.GetIntegerAction
gnu.java.security.actions.GetPropertiesAction
gnu.java.security.actions.GetPropertyAction
gnu.java.security.actions.GetPolicyAction
gnu.java.security.actions.InvokeAction
gnu.java.security.actions.SetPropertyAction
java.awt.Toolkit
java.io.FilePermission
java.net.SocketPermission
java.security.CodeSource
java.util.TimeZone
java.util.Locale
java.util.PropertyPermission
The implementation of the access control itself can be found in:

org.jnode.vm.VmAccessController
org.jnode.vm.VmAccessControlContext
Regards
Ewout


___
Classpath mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/classpath




___
Classpath mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/classpath


Re: Query on stacktrace management logic

2004-03-13 Thread Patrik Reali


--On Sonntag, 7. März 2004 16:02 +0100 Chris Gray [EMAIL PROTECTED] 
wrote:
On Thursday 04 March 2004 09:01, Jeroen Frijters wrote:
David Holmes wrote:
 class Class is the first class that must be initialized [...]
Given the wide variety of VMs that use Classpath, I'd be careful with
statements like these. For almost every such assumption there will be a
VM for which it isn't true.
Amen.  Wonka [doesn't use Classbath [yet], but] currently loads five
other  classes before java.lang.Class; java.lang.Object,
java.lang.Cloneable,  java.lang.Serializable, java.lang.Throwable, and
the mysterious array class.
You don't need java.lang.String from the beginning?

Jaos is more exigent:
* java.lang.Object
* java.lang.String (also initialized)
* java.lang.RuntimeException
* java.lang.NullPointerException
* java.lang.ClassCastException
* java.lang.ArrayOutOfBoundariesException
* java.lang.OutOfMemoryException
* java.io.IOException
* java.lang.AbstractMethodException
* java.lang.Throwable (also initialized)
* java.lang.StackTraceElement (also initialized)
* java.lang.VMThrowable (also initialized)
* java.lang.Thread (also initialized)
* java.lang.ThreadGroup (also initialized)
* java.lang.System (also initialized)
And obviously, many other follow implicitly when a class is initialized.

You may ask why so many classes? Well, there are mainly two reasons. First, 
I try to use as much java code as possible (I'm lazy), thus parts of the 
JVM rely on the code in the libraries. A beautiful example are threads, 
which rely on the Runnable interface: during the first implementation of 
Jaos, the Oberon language didn't have interfaces, thus the threads where 
started by invoking the Java code in java.lang.Thread; only later I did 
integrate Jaos interface support in the Oberon Kernel and added them to the 
language :-) . Of course, some functions must be duplicated for bootstrap 
purposes, because they are needed before they become available.

Second, the exceptions are handled by Oberon's exception handler, which is 
not able to load classes. All Exceptions that are generated by the compiler 
or the CPU as interrupts must be already available in Throwable. And 
obviously Throwable, StackTraceElement, and VMThrowable.

-Patrik



___
Classpath mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/classpath


Re: 0.08 NEWS

2004-03-13 Thread Patrik Reali


--On Montag, 8. März 2004 08:52 +0100 Mark Wielaard [EMAIL PROTECTED] wrote:
By the way, how come everyone else isn't complaining about #6938?
Why am I the only one who notices it? Does everybody else have a
bootstrap class path that contains the java class path as a subset?
As far as I have seen most VMs have their own System/Application
classloader. The SableVM developers were also rewriting it (to make sure
ProtectionDomains were set correctly). So I guess everybody works around
it instead of collaborating on the version in CVS. Probably only the Orp
developers used this class as is for their VM.


For Jaos, I can confirm Mark assertion. The classloader is one of the few 
classes that must be available at bootstrap.

In fact, I assume that only a JVM written in Java is able to use this class 
for the bootstrap of the VM. (Correct me if wrong)

-Patrik

___
Classpath mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/classpath


RE: Query on stacktrace management logic

2004-03-13 Thread Patrik Reali


--On Samstag, 13. März 2004 01:57 +0100 Jeroen Frijters [EMAIL PROTECTED] 
wrote:
David Holmes wrote:
 Since I seem to be the only one that actually wants a VMClass
 instance, maybe we can agree on a slightly different interface.
 How about keep a reference to a VMClass instance in Class, but
 not calling any instance methods on VMClass, but using static
 methods instead (always passing the Class reference along).
I don't understand the purpose of holding a reference to an
instance of a class that only has static methods invoked on it.
The reference implementation of VMClass will not have any instance
members, but VMs might choose to add instance state. However, after
thinking about it some more, I think it would be better to just add an
instance member to Class, called vmState (or whatever) of type Object.
That is more flexible (at the cost of additional downcasts).
The only overhead for you is the unused vmState reference field in each
Class instance.


This seems a sound idea to me.

I think the downcasts are not a big problem, as those calls are mostly used 
by the reflection, thus not time-critical.

-Patrik

___
Classpath mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/classpath


RE: Query on stacktrace management logic

2004-03-11 Thread Patrik Reali


--On Freitag, 5. März 2004 08:13 +1000 David Holmes [EMAIL PROTECTED] 
wrote:
As previously mentioned I think VMClass would be better defined as a
helper with static methods rather than a shadow object attached to each
Class instance.

From my own experience, I can only agree with this...
(not much to say, but I really wanted to say it)

-Patrik

___
Classpath mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/classpath


Free Java, the sequel

2004-03-02 Thread Patrik Reali
Although I'm pretty sure that everybody already read the articles, here's 
the sequel of the free java story from slashdot:

26 Feb: IBM Offers to Help Sun Open Up Java: 
http://slashdot.org/article.pl?sid=04/02/26/1532254mode=thread

27 Feb: Sun Agrees to Talk to IBM over Open Sourcing Java: 
http://developers.slashdot.org/article.pl?sid=04/02/27/1610245mode=thread

Open letters seems to be quite trendy nowadays...

-Patrik


Patrik Reali
http://www.reali.ch/~patrik/


___
Classpath mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/classpath


Re: security

2004-03-01 Thread Patrik Reali
Hi Johan,

thanks a lot for this report. It is obviously important to get those things 
right. Not every JVM uses those C routines (some like JNode and Jaos don't 
even have C available), but since the code is released, it should also be 
secure.

-Patrik


Patrik Reali
http://www.reali.ch/~patrik/
--On Montag, 1. März 2004 08:45 +0100 Johan Peeters [EMAIL PROTECTED] 
wrote:

at FOSDEM, we discussed how I might help to improve free Java's
security. It seems to me that, for the edifice to be secure, the
native layer's security is absolutely essential. I scanned the native
directory with RATS (Rough Auditing Tool for Security -
http://securesoftware.com) and found a few potential vulnerabilities,
e.g. regarding the use of strcpy, fprintf, getenv and sprintf. Is
this worth investigating further, or has it been covered?
kr,

Yo
--
Johan Peeters bvba
software architecture services
tel:+32 16 64900
http://www.johanpeeters.com
___
Classpath mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/classpath




___
Classpath mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/classpath


[Article] Sun Fires Back over Open Source Java Accusations

2004-02-18 Thread Patrik Reali
OSNews has some discussion on Sun's answer to ESR request to make Java open 
source.
http://www.osnews.com/comment.php?news_id=6053

-Patrik


Patrik Reali
http://www.reali.ch/~patrik/


___
Classpath mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/classpath


Re: JIT pluggability (ABI Issues)

2004-01-13 Thread Patrik Reali
Hi!

What I meant was the order parameters are pushed on the stack. Please 
excuse my previous underspecified statement.

As a side node, pushing parameters right-to-left makes the implementation 
of open parameter lists much simpler (maybe this is another reason C tends 
to use it?).

-Patrik



--On Montag, 12. Januar 2004 12:59 -0800 Per Bothner [EMAIL PROTECTED] 
wrote:

Patrik Reali wrote:

Calling Convention
* left-to-right (as in java) or right-to-left (as in C)
Huh?  Argument evaluation order is not really part of the ABI.
C has *unspecified* evaluation order, so many implementations
have evaluated them right-to-left because that's the way the
stack grows (on most C implementations).  But this is less
relevant with optimizing compilers and register-based calling
conventions.
--
--Per Bothner
[EMAIL PROTECTED]   http://per.bothner.com/




___
Classpath mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/classpath


Re: JIT pluggability (ABI Issues)

2004-01-12 Thread Patrik Reali
ABI Issues.

I would divide this in three parts: allocation, calling convention, code 
patterns.

Allocation deals with the addresses of the data structures and is fairly 
easy to deal with. The information needed is:
* size for each basic type
* padding/alignment of each type (in an object, in an array)
* class layout (do we really need this? I guess the fields are allocated in 
the row as they are declared)
* class hidden fields (type descriptor, locks, ...)
* array layout (this may get complicated)
* method number / offset in the vtable or itable
* class numbering / interface numbering (for the systems that use this 
information)
* Strings (some systems may have some special implementations here)

Calling Convention
* left-to-right (as in java) or right-to-left (as in C)
* self (first or last?)
* size and alignment issues
* return values (on register? on stack?)
* which params are passed on stack / in a register
* register saving policies
Code Patterns (using a system call or some inlined code)
* method invocation (i.e. type descriptor layout)
* class allocation
* array allocation
* class initialization
* locking / unlocking
* switch-tables (Jaos has a table with the absolute address of each switch 
destination, this must be patched by the linker)
[... I'm sure I'm missing some here...]

I think allocation is fairly simple to deal with. In fact, each backend 
could provide an implementation class which computes the allocation values.

Calling convention and code pattern configuration may make even the 
simplest compiler become too complex to implement please correct me if 
wrong (this is just an assumption).

-Patrik


Patrik Reali
http://www.reali.ch/~patrik/
http://www.oberon.ethz.ch/jaos/
http://iiop-net.sourceforge.net/


--On Freitag, 9. Januar 2004 09:45 +0100 Sascha Brawer [EMAIL PROTECTED] 
wrote:

Tom Tromey [EMAIL PROTECTED] wrote on Thu, 8 Jan 2004 17:48:59 -0700:

[standard pluggable JIT interface]
This would indeed be quite nice, IMHO.

Language choice for API.
 The obvious choices being:
 C lowest common denominator
 C++   next-to-lowest common denominator :-)  provides some
   abstraction benefit, maybe
 Java  using our own tools...
There are some users of Classpath who cannot execute any C code, such as
Jaos and JNodeOS. If the pluggable JIT interface was in Java, these
systems would be able to use it (assuming that someone writes a JITter in
Java, like IBM did with their Jalapeño/Jikes RVM).
Also, I'd assume that the interface would be rather narrow in the sense
that it wouldn't get invoked very often in the direction VM -- JIT;
probably once for each class or method to be compiled. But the JIT would
presumably have to call a lot into the VM (for retrieving field offsets
etc.).
ABI Issues
According to IBM's publications and web pages, Jikes RVM seems to nicely
cope with different ABIs (such as the slightly different calling
conventions for AIX and MacOS X). Maybe, their code could serve as an
example for how to structure the JIT interface so it can cope with
different ABIs.
Jaos works on top of an abstraction called object kernel, which
basically is an API to garbage collection, synchronization, etc. Patrik
Reali might be able to tell the list more about this.
General API

- Verifier interface?
 Does the verifier do all checking or does it impose some
 requirements on the JIT/interpreter?  (Some verifiers choose to
 delay some checking until interpretation.)
 Does the JIT want/need information already computed by the verifier?
 For instance basic blocks or the type map at a given statement.
I think it would be very wasteful to compute this information twice, but
it might be very difficult to define common data structures that are
suitable for everyone. Might it be sufficient if a verifier could store
some opaque reference for later use by the JIT?
AegisVM writes that they have developed a modular bytecode verification
architecture, but I didn't look at this yet.
Another thing that might be interesting to share is parts of a compiler
backend, such as assemblers.
-- Sascha

Sascha Brawer, [EMAIL PROTECTED], http://www.dandelis.ch/people/brawer/







___
Classpath mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/classpath


Re: JIT pluggability (GC Interface)

2004-01-12 Thread Patrik Reali
 (such as the slightly different calling
conventions for AIX and MacOS X). Maybe, their code could serve as an
example for how to structure the JIT interface so it can cope with
different ABIs.
Jaos works on top of an abstraction called object kernel, which
basically is an API to garbage collection, synchronization, etc. Patrik
Reali might be able to tell the list more about this.
 General API

 - Verifier interface?
  Does the verifier do all checking or does it impose some
  requirements on the JIT/interpreter?  (Some verifiers choose to
  delay some checking until interpretation.)
  Does the JIT want/need information already computed by the verifier?
  For instance basic blocks or the type map at a given statement.
I think it would be very wasteful to compute this information twice, but
it might be very difficult to define common data structures that are
suitable for everyone. Might it be sufficient if a verifier could store
some opaque reference for later use by the JIT?
AegisVM writes that they have developed a modular bytecode verification
architecture, but I didn't look at this yet.
Another thing that might be interesting to share is parts of a compiler
backend, such as assemblers.
-- Sascha

Sascha Brawer, [EMAIL PROTECTED], http://www.dandelis.ch/people/brawer/



___
Classpath mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/classpath
--
Chris Gray  /k/ Embedded Java Solutions
Embedded  Mobile Java, OSGi  http://www.kiffer.be/k/
[EMAIL PROTECTED]  +32 477 599 703
___
Classpath mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/classpath



Patrik Reali
http://www.reali.ch/~patrik/
http://www.oberon.ethz.ch/jaos/
http://www.classpath.org/
http://iiop-net.sourceforge.net/
___
Classpath mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/classpath


RE: Java Runtime Matrix for UserLinux

2004-01-06 Thread Patrik Reali
Hi Robert,

if you can submit me a small paragraph describing JamVM, I'll add it to the 
link list on the Classpath site.

-Patrik

--On Montag, 5. Januar 2004 05:30 + Robert Lougher 
[EMAIL PROTECTED] wrote:

Hi,

Sorry for the empty post - first day back into work tomorrow :)  What I
meant to say:
Any reasons for missing out JamVM (http::/jamvm.sourceforge.net)?  It's
been using Classpath since 1.0.0 (12-Mar-2003).  Quite a few people are
using it successfully, and I think a number of people on this list have
given it a test.
Thanks,

Rob.

Original Message Follows
From: Dalibor Topic [EMAIL PROTECTED]
To: GNU Classpath [EMAIL PROTECTED]
Subject: Java Runtime Matrix for UserLinux
Date: Sun, 04 Jan 2004 20:40:28 +0100
Hi all,

I've started a java runtime matrix in the UserLinux wiki, that will serve
as the foundation for their decision which runtime to pick. So if you
feel like having your runtime as the default java runtime in UserLinux,
please consider filling in the blanks for your project. If you don't
please remove it from the matrix.
You can find the matrix here:
http://cgi.userlinux.com/cgi-bin/wiki.pl?Java_Runtime_Matrix
cheers,
dalibor topic


___
Classpath mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/classpath
_
Express yourself with cool new emoticons
http://www.msn.co.uk/specials/myemo


___
Classpath mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/classpath



Patrik Reali
http://www.reali.ch/~patrik/


___
Classpath mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/classpath


Re: Help and input needed

2003-12-15 Thread Patrik Reali


--On Sonntag, 14. Dezember 2003 19:05 +0100 Mark Wielaard [EMAIL PROTECTED] 
wrote:
- GNU Classpath task list.
  Sascha has already made a start with one and Patrik has already turned
  them into a nice web page (but since savannah is down, we cannot
  publish it...)
  If Patrik can post the current tasks to the mailinglist then other can
  comment on it and/or add tasks.


The current draft of the task list is here:

http://www.reali.ch/~reali/classpath/tasks.html

Please be patient and kind to my site, the downlink is only 64 kbit/s.

Some entries a still quite raw (or just a placeholder). I'm still not sure 
how to handle the contact person (because of the current spam levels, I'm 
reluctant to post emails on a webpage)

Feedback, new entries, and time or skill estimations for the existing 
entries are welcome! I'll update the list regularly on my site, waiting for 
savannah's great comeback.

-Patrik



___
Classpath mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/classpath


Re: VMInterface addition: Make native library names part ofVMInterface

2003-11-07 Thread Patrik Reali

- Original Message -
Tom Tromey writes:
 David I don't think there is an easy solution to this as it is unlikely
 David that a single VMInterface will fit the needs of all VMs perfectly.
 David In some cases (java.lang.ref.* for example), I don't think that it
 David is reasonable for classpath to try to provide an implementation
 David that will actually work unchanged on all VMs.

 Andrew Exactly.  Classpath should provide a reference implementation,
 Andrew we but shouldn't expect every core class to be used unchanged.

 I agree.  I think it is reasonable to expect libgcj to diverge from
 classpath in some places -- there are areas where libgcj's needs
 aren't the same as the needs of other VMs.  But at the same time, I'd
 expect VMs that are unusual in other ways (e.g., IKVM or JikesRVM,
 both different in one way or another) to also occasionally have
 their own divergence.  Or, to put it another way, let's distribute
 some of the divergence; it can't all rest on libgcj.  (Which I doubt
 anyone is proposing anyway.)


I agree with you.

My approach is rather pragmatic: first, classpath should allow to quickly
develop a VM, by providing a clean design and as many features as possible
in Java.

Then, once the VM is running, everybody can choose the optimizations that
match the problem that the VM is trying to address. In practice, as soon as
one VM leaves the state of pet project or proof of concept,
optimizations are unavoidable.

I'm not sure that compiler optimizations (in particular inlining and pointer
escape analysis) can handle every problem (and as I remember, they ofter
require static compilation and limit dynamic loading, a core java feature),
thus some code modification may be required to optimize the API for the VM.

Anyway, coming myself from the compiler world, you can imagine how painful
it is for me to say that native methods should forward the call to the VM*
classes (thus adding an indirection). This has for me the following
advantages:
* clear separation between the API and the VM
* regrouping the native methods into a few classes (it is simpler to find
out which methods must be implemented, and the number of stubs to create is
much smaller, which is less code to manage)

On the other hand, the VM* approach causes additional costs:
* often requires to duplicate structures to keep track of one information.
* additional indirection in each invocation

As often the case, good design and optimizations don't mix well! In case of
doubt, I always choose the good design (it fits every case) over the
optimization (it usually fits only a specific use-case).

But this is just my own opinion.

-Patrik

Patrik Reali
http://www.reali.ch/~patrik/
http://www.oberon.ethz.ch/jaos





___
Classpath mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/classpath


Q: Classpath and Eclipse

2003-11-06 Thread Patrik Reali
Hi!

Has anybody already tried to import classpath under Eclipse? I tried to
create a project and import the files, but then Eclipse is far too
intelligent:
* gnu/java/lang classes are imported into package java.lang
* vm/reference/java/lang classes are imported into package vm.java.lang

Probably I'm just doing something wrong (I'm using Eclipse 3.0M4)

Thanks,
  Patrik
---
Patrik Reali
http://www.reali.ch/



___
Classpath mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/classpath


Re: VMInterface addition: Make native library names part ofVMInterface

2003-11-04 Thread Patrik Reali
Jeroen wrote:
 Bryce McKinlay wrote:
  Sorry, I think I misunderstood your message. I thought you were
  suggesting moving all the native methods (eg for IO classes) to
  separate VM* classes.

 I think that is in fact what Mark was suggesting and I think this is
 definitely a good idea. There are a lot of VMs that don't (want to) use
 JNI for their native methods. Having all native methods in the VM*
 classes makes this much easier.


I agree with this. Moving all the native methods in the VM* classes would be
easier for the VM implementors, because it is easier to document or find out
which methods must be provided (a grep native *.java doesn't help much!).

  Right. I think there is a distinction, however, between what the VM
  must implement to operate with classpath - ie core VM classes like
  Class, Object, Throwable, Thread; and portable classes which
  happen to have native methods, such as java.io.File and
  java.net.PlainSocketImpl.
  The later are just normal classes with native methods, the
  implementations of which are typically be portable across different
  VMs.

 This assumption is not true for some VMs. My VM (IKVM) has no native
 methods and I'm pretty sure this is also true for JAOS and maybe others.


How I'm going to explain this...? Well Jaos uses the Oberon language to
provide the native methods (native == written in a language other than
java), but  doesn't go through JNI: both languages have the same object
model with garbage collection, so no object pinning and similar stuff is
needed, and the jitter compiles the byte-code using the same data layout and
calling convention, such that the generated code is identical for both
languages. It is the task of the linker to patch the native implementation
entry points into the method tables, and from that point java can call
oberon and oberon can call java.

Moving all the native methods to a separate class would make my job simpler:
I would replace the complete class with an oberon class instead of having to
merge them. And because the interface is stable, I would be able to get rid
of a lot of bootstrap code, which checks every time whether the methods and
fields have changed.

  So, they a system/platform interface rather than the VM
  interface.
  To put it another way, just because a method is native
  doesn't mean it interfaces with the VM.

 The VM* classes don't mean interfaces with the VM, but are a way for
 VM implementers to easily replace their implementation. (The idea being
 that the interface between the non-VM and VM classes is fairly stable).


Well, the VM classes are part of the VM interface, which is much broader. I
agree that they will be fairly stable, thus making the port simpler to
maintain.

-Patrik


Patrik Reali
http://www.reali.ch/~patrik/
http://www.oberon.ethz.ch/jaos/



___
Classpath mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/classpath


Re: CVS configure.in is broken

2003-10-27 Thread Patrik Reali
: `AM_CONFIG_HEADER(include/config.h)'


- Original Message -
From: Stephen Crawley [EMAIL PROTECTED]
To: Patrik Reali [EMAIL PROTECTED]
Cc: Mark Wielaard [EMAIL PROTECTED]; Stephen Crawley
[EMAIL PROTECTED]; [EMAIL PROTECTED]; GNU Classpath
[EMAIL PROTECTED]; [EMAIL PROTECTED]; [EMAIL PROTECTED]
Sent: Monday, October 27, 2003 1:03 AM
Subject: Re: CVS configure.in is broken



 Patrik,

  The problem with --disable-gtk-peer is that it works for the
compilation,
  but GTK must be installed anyway, otherwise aclocal fails.

 I can't recall exactly, but I think I found it was OK to just ignore
 the aclocal error messages.

 -- Steve






___
Classpath mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/classpath


Re: CVS configure.in is broken

2003-10-24 Thread Patrik Reali
The problem with --disable-gtk-peer is that it works for the compilation,
but GTK must be installed anyway, otherwise aclocal fails.

In practice, I would have to install GTK-2 just to be able to configure the
package _not_ to use GTK-2.

To avoid this, I used to remove the GTK, GLIB, and LIBART stuff in the
configure.in file (from line 121 to line 148) before aclocal and eventually
configured classpath with --disable-gtk.peer. It's a hack , but it works for
me.

-Patrik


Stephen Crawley wrote:

 Mark Wielaard [EMAIL PROTECTED] wrote:
  On Thu, 2003-10-23 at 19:52, Dalibor Topic wrote:
   apparently the configure.in in CVs is broken. I tried the
   aclocal; autoheader; automake; autoconf
   routine as recommended in the HACKING document, but it doesn't
work:=20
   aclocal complains about
  =20
   aclocal: configure.in: 134: macro `AM_PATH_GTK_2_0' not found in
library
   aclocal: configure.in: 137: macro `AM_PATH_GLIB_2_0' not found in
library
   aclocal: configure.in: 140: macro `AM_PATH_LIBART' not found in
library
  =20
   and it's all down from there ;)
 
  Also from the HACKING document:
 
  the following are required.
  =20
  - GTK+ 2.x.x
  - libart_lgpl 2.1.0
 
  Those packages should provide the missing AM_ macros.

 There is an alternative workaround to this.  There is an ugly hack in
 the configure.ac file that allows you configure to Classpath with
 --disable-gtk-peer on a platform that does not have GTK+ 2.x.x.

 This workaround allows you to build / use Classpath for non-GUI apps if
 you are stuck with an older Linux distro that only has GTK+ 1.x.x.
 (Retrofitting GTK+ 2.x.x can be really hard because of the number of
 libraries and applications that need to be upgraded.  At least, that
 was what I found with RedHat 7.2.)

 -- Steve

 P.S.  This should be documented in the HACKING file, since the question
   seems to come up every few months.



 ___
 Classpath mailing list
 [EMAIL PROTECTED]
 http://mail.gnu.org/mailman/listinfo/classpath





___
Classpath mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/classpath


Re: classpath initialization

2003-10-22 Thread Patrik Reali
In Jaos, the ClassLoader is loaded but not really used (I'm still stuck with
classpath 0.5) because I have my own native implementation which overrides
the calls to Java's classloader in Class.fromName(). I'm currently upgrading
my implementation to work with 0.6 by moving all the native stuff into the
VM classes, but haven't got that far yet (it's a lot of work!)

-Patrik


 For comparison, Wonka's explicit class initialisation looks something like
 this:
   **  1) load class java/lang/Object.
   **  2) load java/lang/Cloneable, java/lang/Serializable,
 java/lang/Throwable.
   **  3) create clazz_Array. clazz_Array acts like clazzObject but has
   ** a modified method table and a modified interfaces table.
   ** It overrides the clone method of java/lang/Object and adds two
   ** new interfaces: Cloneable and Serializable.
   ** (We need to do this before any subclasses of Throwable are
loaded,
   ** in order to ensure that they are marked CLAZZ_IS_THROWABLE).
   **  4) load java/lang/Class, java/lang/ClassLoader, java/lang/Thread,
   ** java/lang/ThreadGroup, and java/lang/ref/Reference.
   **  5) load all the classes mentioned in core-classes.in.
   **  6) For each primitive class xxx, create:
   **   -An instance Class_xxx of class java/lang/Class, linked to
   **a w_Clazz structure (clazz_xxx).
   **The name associated with the Class instance is xxx.class.
   **   -Entries in the array atype2clazz[], which is indexed by P_xxx.

 Step 5) is needed because we need to create explicit relationships between
C
 and Java constructs for quite a large number of classes, which Patrik
doesn't
 need to do because he's using Oberon. I guess that's also why he doesn't
need
 to explicitly load ClassLoader; we need to do that because of all the
 behind-the-scenes stuff needed to implement class loading according to the
 JVM spec.



___
Classpath mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/classpath


Re: org.omg link on Classpath homepage

2003-10-21 Thread Patrik Reali
The LGPL has a rather interesting point in paragraph 6a. where they state
that it is obviously possible to change the code, but It is understood that
the user who changes the contents of definitions files in the Library will
not necessarily be able to recompile the application to use the modified
definitions.

I think this bit is not in the GPL (as every piece of code is released under
the GLP).

This is obviously common sense. The same holds for any implementation of a
protocol (even the GPLed ones) that everything can be changed, but nobody
would seriously expect them to work afterwards. Would you consider the
implementation of a standard or a protocol (which cannot change freely) to
violate the GPL?

I do not know what the OMG licences doens't allow to do (I couldn't find the
implementatio either).

-Patrik


Patrik Reali
http://www.reali.ch/~patrik/
http://www.oberon.ethz.ch/jaos



- Original Message -
From: Stuart Ballard [EMAIL PROTECTED]
To: Brian Jones [EMAIL PROTECTED]
Cc: GNU Classpath [EMAIL PROTECTED]
Sent: Tuesday, October 21, 2003 3:40 PM
Subject: Re: org.omg link on Classpath homepage


 Brian Jones wrote:
  Basically they will never be free to modify because the entire point
  of the OMG standard is these interfaces DO NOT CHANGE or change only
  as the standard evolves at the whim of the standards body.  The GPL
  doesn't allow compatibility with licenses that do not permit
  modification.

 Then isn't Classpath violating GNU project policy by advertising
 non-free software on its homepage?

 Stuart.

 --
 Stuart Ballard, Senior Web Developer
 FASTNET - Web Solutions
 (215) 283-2300, ext. 126
 www.fast.net



 ___
 Classpath mailing list
 [EMAIL PROTECTED]
 http://mail.gnu.org/mailman/listinfo/classpath





___
Classpath mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/classpath


Re: classpath initialization

2003-10-20 Thread Patrik Reali
Hi!

Initializing a JVM is quite a complicated thing. Many problems depend on
which class you first initialize, because this could cause unexpected
dependecies to pop up.

Jaos doesn't suffer from the problem you descrive, because it doesn't use
the external libraries or JNI: Oberon is rather close to Java, and the
objects can be directly accessed from both languages without fear of
breaking the type system or confusing the garbage collector.

I also had my share of problems with the system properties, because they are
hard-coded in the libraries and I didn't realize it at once. Furthermore,
the properties and java.io assume an unix-like filesystem, which Oberon
doesn't have: we don't have directories, only mounts.

In Jaos, I explicitely initialize a few classes during bootstrap (this are
only the explicit calls, other classes may be automatically initialized as
side effect, and in fact about 80 are!). This code relies on classpath 0.5
(I'm not through updating yet).

1. String
2. Throwable
3. StackTraceElement
4. VMThrowable
5. Thread
6. ThreadGroup
7. System

This may look strange, but

1. String is implicitely used everywhere, because the string constants are
instances of this class; according to the spec, allocating an instance of a
class causes the class to be initialized. (I could avoid this, but then I
would have to protect every access to the string methods with a check to
launch initialization; Strings are already slow enough in Jaos).

2. Throwable / StackTraceElement / VMThrowable: I must allocate them when
the VM is launched: loading them on-demand (at the first exception) is
already too late, because the VM is already processing an exception (in
Oberon this is done with a software interrupt) and loading reads from the
disc (causing more interrupts), but the kernel doesn't allow to interrupt
handler to cause other interrupts.

3. Thread / ThreadGroup must be initialized, because every java program is
executed in a java thread; Jaos creates such a thread for the execution of a
java program.

This remarks (in particular 2 and 3) are quite Jaos specific.

This won't probably solve your problem, but may give you some insight about
the various problems encountered during the initialization phase.

-Patrik

Patrik Reali
http://www.reali.ch/~patrik/
http://www.oberon.ethz.ch/jaos


- Original Message -
From: Joseph Wenninger [EMAIL PROTECTED]
To: [EMAIL PROTECTED]
Sent: Tuesday, October 14, 2003 9:33 PM
Subject: classpath initialization


 Hi

 I'm trying to use an unmodified classpath (0.06). I already have
 something working with a modified one.

 My problem is that the call stack during initialization of the System
 class I looks something like

 LOG:  called: java/lang/System.clinit()V()
 LOG:   called:
 java/lang/System.loadLibrary(Ljava/lang/String;)V(405c8488)
 LOG: called: java/lang/Runtime.getRuntime()Ljava/lang/Runtime;()
 LOG: finished:
 java/lang/Runtime.getRuntime()Ljava/lang/Runtime;-0x8420fd8
 LOG: called:
 java/lang/Runtime.loadLibrary(Ljava/lang/String;)V(8420fd8, 405c8488)
 LOG: called:
 java/lang/VMSecurityManager.currentClassLoader()Ljava/lang/ClassLoader;()
 LOG: called: java/lang/ClassLoader.clinit()V()
 LOG: compiler_addinitclass: java/lang/VMClassLoader
 LOG: called:
 java/lang/VMClassLoader.getSystemClassLoader()Ljava/lang/ClassLoader;()
 LOG: called:

java/lang/System.getProperty(Ljava/lang/String;Ljava/lang/String;)Ljava/lang
/String;(405cb500, 405cb578)
 ()Vi

 The last line causes an exception, since the static member properties
 isn't initialized yet. Did anybody else encounter such a problem ? I'm
 not sure if that it is a vm bug or a compiler problem or something that
 I miss

 Kind regards
 Joseph Wenninger



 ___
 Classpath mailing list
 [EMAIL PROTECTED]
 http://mail.gnu.org/mailman/listinfo/classpath





___
Classpath mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/classpath


Re: file.encoding property

2003-09-23 Thread Patrik Reali
I think this makes sense (as long a java implementation is available).

I can see only one limitation at the moment: if someone wants to construct a
free J2ME (CLDC) API from Classpath.

The CLDC API contains only java.io; there, PrintStream writes to the
underlying stream according to the locale and VM configuration. There is no
explicit encoder (as far as I can see), but I guess it would rely on
something like the current encoders (maybe just hardcoded, because a generic
implementation it just too expensive on a small device).

-Patrik

Patrik Reali
http://www.oberon.ethz.ch/jaos


 Brian Jones [EMAIL PROTECTED] wrote on Tue, 23 Sep 2003 07:17:07 -0400:

 Is there a reason to keep gnu.java.io.{encode,decode}.* around when it
 looks like the nio versions could be used?

 It probably would make sense to switch to java.nio.charset.

 Some of us (Dalibor Topic; Mark Wielaard; Andy Walter; James Hunt; Ingo
 Proetel; Sascha Brawer) had discussed this during our meeting at LinuxTag
 in Germany.

 Quoting from Mark's meeting minutes (http://mail.gnu.org/archive/html/
 classpath/2003-07/msg00040.html):

  The plan for character encodings is to move to the java.nio.charset
  interface. We already have required encodings for this. But GNU
  Classpath and gcj both still also have their old implementations
  (which are actually used in most places). gcj also has a libiconv
  provider (but not as java.nio.charset provider). A java.nio.charset
  libiconv provider would be nice to have for those systems that
  have that library.

 -- Sascha

 Sascha Brawer, [EMAIL PROTECTED], http://www.dandelis.ch/people/brawer/




 ___
 Classpath mailing list
 [EMAIL PROTECTED]
 http://mail.gnu.org/mailman/listinfo/classpath





___
Classpath mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/classpath


Re: Workshop/BoF: Graphics in GNU Classpath

2003-09-18 Thread Patrik Reali
I will be in Saarbrücken.

-Patrik
--
Patrik Reali
http://www.reali.ch/~patrik/
http://www.oberon.ethz.ch/jaos/
http://iiop-net.sourceforge.net/



___
Classpath mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/classpath


Re: HTML-Rendering engine written in Java?

2003-09-16 Thread Patrik Reali
Hi Clemens,

XBrowser (http://xbrowser.sourceforge.net/) ist a Web Browser completely
written in Java, so I guess it must contain a rendering engine. It is
released under the SISSL licence.

-Patrik

- Original Message - 
From: Clemens Eisserer [EMAIL PROTECTED]
To: [EMAIL PROTECTED]
Sent: Saturday, September 13, 2003 9:55 PM
Subject: HTML-Rendering engine written in Java?


 Hi there!

 Does anybody know a useable html-rendering engine completly written
 using Java and 100% free Software (e.g. GPL, LGPL)...
 I want to port such a library from AWT/SWING to SWT.

 All libraries I found were proprietary, so they arent useful at all for
 me :-(

 lg Clemens



 ___
 Classpath mailing list
 [EMAIL PROTECTED]
 http://mail.gnu.org/mailman/listinfo/classpath





___
Classpath mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/classpath


Re: Preparing for 0.06 release

2003-08-14 Thread Patrik Reali
  A side question (that's important for deciding whether to include it in
  the 0.06 release), do any VMs use the unmodified reference Thread class?

 I believe the kissme VM just uses the vm/reference version of Thread.

Jaos uses vm/reference/java/lang/Thread as is.

But this shouldn't stop you from improving the design by moving the native
stuff into a VMThread class. If a native method is just rewritten to call a
VM* method, then Jaos implementation will still work, because the linker
patches the native method implementation directly into the method table and
thus ignores the call to the VM* class.

-Patrik



___
Classpath mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/classpath


Jaos JVM

2003-08-03 Thread Patrik Reali
Hi!

After a pause of more than one year, caused by some other higher-priority
projects, I'm working again on the Jaos VM [0]. Since I left ETH, I can only
work during my spare time on the project.

The Jaos VM is a JVM using GNU Classpath implemented on top of the
Aos/Bluebottle kernel [1]. This kernel offers many useful features like
garbage collected memory management, dynamic module loading, and
object-oriented model. This makes the implementation of a JVM particularly
attractive and simple.

Jaos uses GNU Classpath out-of -the-box. Currently, it works with GNU
Classpath release 0.5. No changes at all are required.

Jaos has some charateristics which make it peculiar. First, the jitter
generates code that follows the kernel conventions for data layout, thus the
java modules are fully integrated in the system (interoperability with
oberon requires no glue code). Second, the java reflection classes are
implemented to work directly with the system's symbol tables (the same used
by the oberon compiler) so that both compilers rely on the same metadata
(this sounds .NETish, and in fact also is).

Jaos is a jit-based JVM; the jitter is based on [3], which is an ideal
compromise as it fastly generates good code for the i386 processors.

The language used for the native methods and low-level implementation is
Active Oberon, an extension of the Oberon language (an evolution of Modula-2
and Pascal). Thus, Jaos is only able to run code written either in Active
Oberon or Java: third party code in C is excluded. This is no big problem
(for the moment), as the core classes of classpath are quite complete; it
may pose a problem with the java/awt package, because apparently most of the
implementation are optimized (and thus in C).

Another advantage of the kernel modularity and dynamic loading features is
that it allows decide which modules are loaded. As an example, I can deploy
only the Aos kernel, Jaos, and a stripped down version of classpath (and
forget about Oberon itself) on a single bootable floppy disk.

My plans for the future include supporting java/net, java/awt, simplify Jaos
installation and handling, and fine-tuning the VM. I want to rely as much as
possible on Java code, in particular for the graphical support (I'm thankful
to Sascha Brawer, who is writing the font stuff in Java). As a JVM
developer, I think it is important for Classpath to provide as much code as
possible in Java itself: this provides a reference implementation, it is
fully portable, and allows to quickly have a fully-featured running JVM;
each JVM can then choose whether to rely on the default implementation or
provide an own optimized one.

I will shortly begin with the implementation of java/awt/* for Jaos, but I
will try to work as much as possible with Java (ideal would be to have only
one base class with graphical primitives like Graphics2D natively
implemented, and the rest in Java). Obviously, I will contribute any Java
code I need to add to classpath to make Jaos work. Jaos itself is also
freely available.

Thank you very much to the whole classpath developer team for the great work
done!

-Patrik Reali


[0] Jaos: http://www.oberon.ethz.ch/jaos/
[1] Aos/Bluebottle: http://bluebottle.ethz.ch/
[2] Active Oberon: http://bluebottle.ethz.ch/languagereport/
[3] Cierniak et al.; Fast, Effective Code Generation in a Just-In-Time Java
Compiler; PLDI-98

Patrik Reali
http://www.inf.ethz.ch/personal/reali
http://www.oberon.ethz.ch/jaos



___
Classpath mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/classpath


Re: 0.05

2002-12-18 Thread Patrik Reali
 of months.  I'd like to make a new Classpath release, perhaps in the
 next few weeks, depending on how long it takes to get most of the

Good to hear. I was going to prepare a new version of the Jaos VM to release
my latest changes (an new improved jit-compiler, a few slides from a lecture
I'm currently giving, and some documentation as part of my thesis).

I will wait for the 0.05 release to integrate the new libraries in Jaos: the
timing is almost perfect, as I should have more time from february on.

The good news for the moment are:
* Jaos is not dead
* I did run the Spec JVM 98 on Jaos with Classpath: 201_compress, 202_jess,
209_db, and 228_jack are working fine (though I did my last checkout in
march). The other benchmarks fail because of some errors in Jaos. The
results on my website are those with the old compiler; with the new one the
code should be about twice as fast.



Patrik Reali
http://www.inf.ethz.ch/personal/reali
http://www.oberon.ethz.ch/jaos



___
Classpath mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/classpath



Re: getting started with classpath

2002-04-26 Thread Patrik Reali

From: Brian Jones [EMAIL PROTECTED]
 Some good ideas here, but let's not exclude other JVMs such as SableVM
 or kissme.  A side question of mine at the moment is whether any of
 these support working with the AWT and native peer code other than
 GCJ.

Jaos has currently no support for the AWT.
Whenever this happens, I will have to provide my own native implementation,
because I'm not running on a *nix system.


-Patrik


___
Classpath mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/classpath



Problems with Character

2002-03-22 Thread Patrik Reali

Hi!

I'm experiencing some problems with java.lang.Character.
The methods toUpperCase and toLowerCase return 
wrong results (most of the calls leave the values unchanged,
a few return strange values). I went through the code,
but there's not much they're just taking the result from
some tables.

I'm currently using the latest version of Character and CharData.

Can anybody confirm (or dismiss) the problem?

Thanks,
  Patrik

Patrik Reali
http://www.inf.ethz.ch/personal/reali
http://www.oberon.ethz.ch/jaos


___
Classpath mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/classpath



Re: classpath which jvm ?

2002-03-14 Thread Patrik Reali



 
 Which jvm does the --current-- classpath run with ?
 orp doesn't seem to work.
 R.

Jaos (http://www.oberon.ethz.ch/jaos/) works with 
classpath 0.03 and an own implementation of
java/lang/Character.

Jaos is currently in an advanced alpha phase. Textual IO
and file support are implemented; Net and AWT are not supported.

-Patrik


___
Classpath mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/classpath