harmony-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Archie Cobbs <arc...@dellroad.org>
Subject Re: [classlib] gnuclasspathadapter -- current status on getting specJVM98 to run
Date Mon, 01 May 2006 17:06:45 GMT
Weldon Washburn wrote:
>>   If the ACC_INTERFACE flag of this class file is set, its ACC_ABSTRACT
>>   flag must also be set (ยง2.13.1) and its ACC_PUBLIC flag may be set.
>>   Such a class file may not have any of the other flags in Table 4.1 set.
>> It's interesting to hear that Sun (I assume?) doesn't follow this.
> Are you able to confirm the behavior I am seeing on your system?  I
> ask because I would hate to find out the problem is caused by some
> glitch in my environment.  You should be able to test for the problem
> with specJVM98 _209_db.  Because of spec licensing rules, I may not be
> able to give you my hacked up source to try.

What's in the classfile? You can use "cfdump" to check, if you've got
that built. The 0x0400 bit of access_flags should be set for ABSTRACT.

>> JCHEVM does agressive linking. This behavior is inherited from JCVM
>> which was optimized for pre-compiled objects. Agressive linking is
>> within the JVM spec, which allows flexibility in this area. The problem
>> you see is one downside of the approach.
> hmmm.... is there any facility to turn off JCHEVM's agressive linking?
> That is, let the linking happen only at first use of the class.  If
> not, the choices are to:
> a)
> implement AWT and any other missing libs (this may be lots of work)
> b)
> comment out unused but offending classes that are in specJVM98 (ugly!)
> c)
> use some other benchmarks to demo Harmony LUNI on gnuclasspathadapter
> (and have to respond to questions why specJVM98 does not work)

JCHEVM resolves all of the symbolic references in a class at once,
but not until it has to. So the linking does only happen at "first use"
of the class, but at that time the entire class' references are resolved
rather than just whatever method you happen to touch first.
There's no way to fix this easily unfortunately.

In any case it seems like trying to get specJVM to work seems pretty
ambitious at this point, given that you just got System.out.println()
working... there are probably more urgent things to fix than AWT, no?
E.g., you could try the Mauve test suite.

Looking forward to getting this stuff committed at some point... !


Archie Cobbs      *        CTO, Awarix        *      http://www.awarix.com

Terms of use : http://incubator.apache.org/harmony/mailing.html
To unsubscribe, e-mail: harmony-dev-unsubscribe@incubator.apache.org
For additional commands, e-mail: harmony-dev-help@incubator.apache.org

View raw message