On 5/1/06, Archie Cobbs <[EMAIL PROTECTED]> wrote:
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.
Good idea to use cfdump. I now suspect it was a glitch in my
environment. It might have been a wild pointer somewhere. I can no
longer reproduce the problem.
>> 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?
Agreed. Fixing AWT so that is runs with gnuclasspathadapter/JCHEVM is
the hard way to bring up the system.
E.g., you could try the Mauve test suite.
Good idea. I will try to look at mauve soon. I don't know anything
about it. Do you know if there there any Apache license compatibility
issues?
Looking forward to getting this stuff committed at some point... !
Thanks. I agree with you. Hacking on a private copy of Harmony
Classlibs is growing stale. It would be much more efficient to commit
the mods to Apache svn server.
-Archie
__________________________________________________________________________
Archie Cobbs * CTO, Awarix * http://www.awarix.com
---------------------------------------------------------------------
Terms of use : http://incubator.apache.org/harmony/mailing.html
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
--
Weldon Washburn
Intel Middleware Products Division
---------------------------------------------------------------------
Terms of use : http://incubator.apache.org/harmony/mailing.html
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]