Re: Some object serialization problems for discussion(3)-ObjectInputStream

2001-08-03 Thread Bryce McKinlay

"Wu, Gansha" wrote:

>  libgcj implements callReadObject, callWriteObject in java, but classpath 
>demands native to
> do them;

Yes, In this case I dont see why it shouldn't be done in Java unless there is a 
compelling performance
advantage in doing otherwise. In fact I suspect that all of Serialization can be 
implemented in pure Java, it
is probably just for legacy reasons that we have native methods in there at all. This 
would require some
significant reworking of the code but I think it would be worthwhile.

>   BTW, because of legacy problems, we couldn't port to libgcj's implementation 
>so easily.
>   We really like those changes like BigInteger, libgcj removed native dependency 
>in BigInteger, and
>  we hope BigInteger (and the like) in classpath will be merged back into classpath 
>ASAP;

It should be trivial to merge the BigInteger stuff into classpath. For java.util.zip 
as you know it is more
difficult for us due to the native code dependency. I believe there is now a pure-Java 
implementation of this
which we should look at for classpath if copyright assignment etc can be taken care of.

>  We also like libgcj will add those parts classpath haven't implemented into 
>classpath, e.g,
>  java.util.zip.*, it's very important to run some biz apps;
>  But to those which involved changes of native interfaces, it's a burden for us 
>to change VM part.

One thing I know we'd love to do is to port ORP to run on the libgcj runtime. This 
would mean using the
ORB JIT with libgcj's GC etc. This will allow JIT'ed bytecode to be mixed with 
pre-compiled object code. We
already do this with libgcj's interpreter so in principle it should not be hard to 
implement, but we'd need
to change ORP to be compatible with GCJ's object and vtable layouts, and I don't know 
how difficult that
would be.

regards

Bryce.



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



Re: Java 1.1 compliance?

2001-08-03 Thread Tom Tromey

> "Patrick" == Patrick Doyle <[EMAIL PROTECTED]> writes:

Patrick> How close is Classpath to Java 1.1 compliance now?

Does anybody know?  We've occasionally compared libgcj against JDK 1.1
here (internally at Red Hat).  It is pretty close.  (Offhand I don't
recall what is missing.)

Well, it is pretty close if you only look at the packages we actually
implement.  If you look at something like AWT you'll be disappointed.

Patrick> Is that the only criterion for calling it the "Classpath 1.0"
Patrick> release?

I doubt it.
I have no idea what the release criteria are though.

Tom

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



Re: java.lang.reflect.Proxy

2001-08-03 Thread Artur Biesiadowski

On 2 Aug 2001, Tom Tromey wrote:

> I don't know about anyone else, but I don't have a strong preference.
> How big is gnu.bytecode?  Is it feasible to import it?
> Maybe that would influence things.

I would also worry about speed. Creating even a simple class with
gnu.bytecode creates a lot of temporary objects. Proxy class could be
possibly done with quite small number of bytecodes following some
semi-fixed format.

But it is better to have correct slow implementation than to have nothing
or buggy one...

Artur


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



The "InnerClasses" attribute

2001-08-03 Thread Patrick Doyle


Thanks to everyone who replied regarding the handling of inner classes.
The answer is in section 4.7.5 of the JVM spec, which defines the
"InnerClasses" attribute to contain all the information the JVM needs to
work out all the inner class relationships.

I'm not sure how I missed that particular attribute, since I did rememeber
to put all the others in my classfile parser.

--
Patrick Doyle
[EMAIL PROTECTED]


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



Re: java.lang.Class inner class methods

2001-08-03 Thread Eric Blake

Not so.  '$' is a legal identifier character, so I can compile a non-inner
class as follows:

class X$Y {}

In order to detect inner classes in the VM (or in a compiler when reading
.class files), you MUST read the attributes, rather than relying on the
naming convention in the inner class specification.

It would be nice if Sun would give compilers a guaranteed namespace that
cannot conflict with user identifiers, but that has not happened yet...


Original message:
 Thu, 2 Aug 2001 11:22:54 +0200 (MET DST)

The inner class "Y" of class "X" is compiled as "X$Y".
So if a class name contains "$", it must be an innerclass.


This is documentend in the Innerclass specification,
http://java.sun.com/products/jdk/1.1/docs/guide/innerclasses/spec/innerclass
es.doc.html
in section "Class Name Transformation"
http://java.sun.com/products/jdk/1.1/docs/guide/innerclasses/spec/innerclass
es.doc7.html

-Patrik

--
Eric Blake, Elixent, Castlemead, Lwr Castle St., Bristol BS1 3AG, UK
[EMAIL PROTECTED]   tel:+44(0)117 917 5611


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



Java 1.1 compliance?

2001-08-03 Thread Patrick Doyle


Just some idle thoughts...

How close is Classpath to Java 1.1 compliance now?  Is that the only
criterion for calling it the "Classpath 1.0" release?

(Also, have you considered renumbering the Classpath releases to coincide
with, or at least correspond to, the Java version numbers?)

--
Patrick Doyle
[EMAIL PROTECTED]


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



Re: Java 1.1 compliance?

2001-08-03 Thread Bryce McKinlay

Patrick Doyle wrote:

> Just some idle thoughts...
>
> How close is Classpath to Java 1.1 compliance now?  Is that the only
> criterion for calling it the "Classpath 1.0" release?
>
> (Also, have you considered renumbering the Classpath releases to coincide
> with, or at least correspond to, the Java version numbers?)

Its a bit hard to do that I think. There are no doubt some parts of
Classpath that are not complete (eg AWT) even to the JDK 1.1 spec, while
others (eg Collections) are complete through to 1.3 or maybe even 1.4. The
extent to which different packages, even if API-complete, are tested and
debugged also varies substantially. Also, the JDK/J2SE releases are growing
very large these days and its doubtful that we'd be able to implement
everything thats in them in the forseeable future.

regards

Bryce



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



RE: Some object serialization problems for discussion(3)-ObjectInputStream

2001-08-03 Thread Wu, Gansha

Hi, Bryce,
I heard of a pure-java implementation of java.util.zip.* named jazzlib, but I 
never tried it. Would you like 
to try it?

>  It should be trivial to merge the BigInteger stuff into classpath. For 
>java.util.zip as you know it is more
>  difficult for us due to the native code dependency. I believe there is now a 
>pure-Java implementation of this
>  which we should look at for classpath if copyright assignment etc can be taken care 
>of.

Best regards...
Gansha

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



java.lang.reflect.Proxy

2001-08-03 Thread Eric Blake

Unless anyone else speaks up, I will start implementing
java.lang.reflect.Proxy and related classes, added in JDK 1.3.  I believe I
can write it entirely in native Java, by using existing reflection methods,
so that it will integrate seamlessly into existing VMs without requiring any
additional native methods.  Hopefully, my copyright assignment will be
cleared within the next month, so that by the time I finish, I can commit it
directly into CVS.

To do this in pure Java, I plan to generate a byte[] on the fly that will
then be loaded as a class by the appropriate ClassLoader.  Should I use the
functionality already in gnu.bytecode, or should I write my dynamic
class-generator from scratch?

Benefits of writing my own:
 - Smaller footprint: only needs minimal feature set, tailored to the
problem
 - Self-contained within classpath: users do not need to have gnu.bytecode
installed

Benefits of gnu.bytecode:
 - Code reuse
 - Less likely to have bugs in generated code
 - Already under GPL+exception, so license is compatible


Recommendations?

--
Eric Blake, Elixent, Castlemead, Lwr Castle St., Bristol BS1 3AG, UK
[EMAIL PROTECTED]   tel:+44(0)117 917 5611


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



Re: java.nio.charset

2001-08-03 Thread Tom Tromey

> "Takashi" == Takashi Okamoto <[EMAIL PROTECTED]> writes:

Takashi> Yes, I am. What should I do?
Takashi> I have never contributed the code to FSF.

I will send you the paperwork off-list.

>> Any chance of you changing this into a Mauve test?

Takashi> I don't know about Mauve so much. 
Takashi> Which directory should I place it?
Takashi> Is it test/java.nio or testsuite/java.nio?

Mauve is a separate project that is writing a test suite for the Java
Class Libraries:

http://sources.redhat.com/mauve/

The web page is not updated frequently.  (As in, in years :-)
The Mauve layout is straightforward, I think.  Also, writing a test
for Mauve is pretty easy.

Tom

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



Re: Comment bug in Constructor.java

2001-08-03 Thread Tom Tromey

> "Patrick" == Patrick Doyle <[EMAIL PROTECTED]> writes:

Patrick> In vm/reference/java/lang/reflect/Constructor.java, there is
Patrick> the following comment:

Patrick> Never mind that there should be no constructors in an
Patrick> abstract class.

Patrick> I'm not sure why the author of this comment thought this was
Patrick> the case

Me neither.  I've deleted that part of the comment.

Tom

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



Re: APR/NSPR

2001-08-03 Thread Tom Tromey

> "Brian" == Brian Jones <[EMAIL PROTECTED]> writes:

Brian> APR seems most likely given the terms of the Apache license,
Brian> but I have no idea what Tom's thoughts are on this.  Maybe it
Brian> doesn't matter, the CNI and JNI code are completely different
Brian> anyway.

As long as the CNI and JNI remain different, it doesn't much matter to
me what the JNI code uses.

Tom

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



Re: Some object serialization problems for discussion(3)-ObjectInputStream

2001-08-03 Thread Tom Tromey

> "Bryce" == Bryce McKinlay <[EMAIL PROTECTED]> writes:

Bryce> Yes, In this case I dont see why it shouldn't be done in Java
Bryce> unless there is a compelling performance advantage in doing
Bryce> otherwise. In fact I suspect that all of Serialization can be
Bryce> implemented in pure Java, it is probably just for legacy
Bryce> reasons that we have native methods in there at all. This would
Bryce> require some significant reworking of the code but I think it
Bryce> would be worthwhile.

I completely agree.  And, if there are performance reasons that we
might want native code in libgcj, I'd still like to see us merge as
much code as possible.

Bryce> One thing I know we'd love to do is to port ORP to run on the
Bryce> libgcj runtime. This would mean using the ORB JIT with libgcj's
Bryce> GC etc. This will allow JIT'ed bytecode to be mixed with
Bryce> pre-compiled object code. We already do this with libgcj's
Bryce> interpreter so in principle it should not be hard to implement,
Bryce> but we'd need to change ORP to be compatible with GCJ's object
Bryce> and vtable layouts, and I don't know how difficult that would
Bryce> be.

I looked at this a bit a while back (more than a year ago, I think).
These comments are based on that look; I haven't followed ORP closely
enough to know whether these things still hold.

ORP has the nice feature that the JIT asks the VM for information
about object layout, GC interface, etc.  So interfacing the JIT to
libgcj mostly requires writing a bunch of wrapper functions with the
right names.

Right now in libgcj we have an ad-hoc method for associating
interpreter data with a class and/or method.  We would need to
generalize this (a good idea anyway) so that ORP can also do something
intelligent.

Exception handling is the one problematic area I know of.

Well, there's also debugging.  That is much harder though.

Tom

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



Re: java.util.Locale problem

2001-08-03 Thread Tom Tromey

> "Stuart" == Stuart Ballard <[EMAIL PROTECTED]> writes:

Stuart> Forwarding this to the list; I don't know whether this is a
Stuart> classpath or gcj issue (ie, whether these classes are merged
Stuart> yet).

They aren't.

Stuart> PLEASE could somebody remove my name from the maintainer's
Stuart> list on the classpath website?

I don't know how to modify the web site.
Hopefully Brian or Paul can do this.


Antonio> wwping/agent/central/InvoiceAgent.java:1602: Class 'java.util.Locale'
Antonio> has no method named 'getDisplayCountry' matching signature
Antonio> '(Ljava/util/Locale;)Ljava/lang/String;'

Antonio> Aren't these methods supported?

Nobody has written these methods yet :-(.
So the libgcj Locale implementation is still incomplete.
Sorry.

Tom

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



Re: partial 1.4 Throwable compatiblity

2001-08-03 Thread Tom Tromey

> "Colin" == Colin Walters <[EMAIL PROTECTED]> writes:

Colin> I may have a few people from my school's open source club who
Colin> are interested in working on java.util.logging and
Colin> java.util.prefs implementations, and we needed a few 1.4 bits
Colin> like the new Throwable stuff to start getting stuff to compile
Colin> with GCJ.

Colin> Is anyone else working on these packages at the moment?

I haven't heard of anyone working on them.

Tom

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



Re: java.util.Locale problem

2001-08-03 Thread Stuart Ballard

Forwarding this to the list; I don't know whether this is a classpath or
gcj issue (ie, whether these classes are merged yet).

PLEASE could somebody remove my name from the maintainer's list on the
classpath website? I don't mind answering questions that I can answer,
but I don't think I've ever actually been asked a classpath question I
can answer based on the maintainers list.

I know the stock answer is "we're redoing the website and it'll be up
soon", but how hard would it be to just remove one name in the meantime?
It makes Classpath itself look bad, because the listed maintainer is
unable to answer questions about what he's listed as maintaining.

Stuart.

Antonio Fiol BonnĂ­n wrote:
> 
> Hello,
> 
> I am very interested on using gcj for our company's applications, but I
> found this problem:
> 
> wwping/agent/central/InvoiceAgent.java: In class
> `wwping.agent.central.InvoiceAgent':
> wwping/agent/central/InvoiceAgent.java: In method
> `wwping.agent.central.InvoiceAgent.invoiceLatexFile(int,java.util.Locale)':
> 
> wwping/agent/central/InvoiceAgent.java:1602: Class 'java.util.Locale'
> has no method named 'getDisplayCountry' matching signature
> '(Ljava/util/Locale;)Ljava/lang/String;'
> 
> And I have also seen this one:
> 
> wwping/servlet/ContactServlet.java: In class
> `wwping.servlet.ContactServlet':
> wwping/servlet/ContactServlet.java: In method
> 
>`wwping.servlet.ContactServlet.prefs(javax.servlet.http.HttpServletRequest,javax.servlet.http.HttpServletResponse,java.util.ResourceBundle,java.util.Locale,wwping.db.Customer)':
> 
> wwping/servlet/ContactServlet.java:612: Class 'java.util.Locale' has no
> method named 'getDisplayLanguage' matching signature
> '(Ljava/util/Locale;)Ljava/lang/String;'
> wwping/servlet/ContactServlet.java:615: Class 'java.util.Locale' has no
> method named 'getDisplayCountry' matching signature
> '(Ljava/util/Locale;)Ljava/lang/String;'
> 
> Aren't these methods supported?
> 
> Thank you for your time!
> 
> Antonio Fiol

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