harmony-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Geir Magnusson Jr <g...@pobox.com>
Subject Re: [drlvm] build - first round done
Date Fri, 16 Jun 2006 12:17:26 GMT


Gregory Shimansky wrote:
> Sorry for delay, JIRA is painfully slow for me today. I submitted
> HARMONY-612.
> 
> The reason I didn't do it immidiatelly is that I thought I am missing
> something and you have the fix already somewhere as you wrote that VM
> worked
> on WinXP for you.

'worked' is an overstatement.  It survived the smoke test.

I'm learning.

Ok, so let me learn some more.  I'll apply the patch, but can you
explain why we need this?  I know that w/ the 1.5 change to Class.java,
we now implement AnnotatedElement, GenericDeclaration and Type.

Can you give some background on what this method does, and why we need
these added?  Is it because we need to register those three as well when
Class itself is registered?

geir

> 
> 2006/6/16, Geir Magnusson Jr <geir@pobox.com>:
>>
>> can you shove that into a JIRA please?  I'll apply immediately.  Thanks
>>
>> I'm sure there are more problems to be discovered. :)
>>
>> geir
>>
>>
>> Gregory Shimansky wrote:
>> > Hello Geir
>> >
>> > I've tried to build drlvm with your most recent upadtes to build
>> (revision
>> > 414775) and everything compiled fine but running hello world
>> application
>> > failed on assertion in class loader. I had to patch assertion to
>> include
>> > superinterfaces for java.lang.Class from 1.5 like this:
>> >
>> > Index: drlvm/trunk/vm/vmcore/src/class_support/classloader.cpp
>> > ===================================================================
>> > --- drlvm/trunk/vm/vmcore/src/class_support/classloader.cpp   
>> (revision
>> > 414775)
>> > +++ drlvm/trunk/vm/vmcore/src/class_support/classloader.cpp    (working
>> > copy)
>> > @@ -1102,7 +1102,10 @@
>> >     if(env->InBootstrap()) {
>> >         assert((clss->name == env->JavaLangObject_String)
>> >              || (strcmp(clss->name->bytes, "java/io/Serializable")
>> == 0)
>> > -             || (clss->name == env->JavaLangClass_String));
>> > +             || (clss->name == env->JavaLangClass_String)
>> > +             || (strcmp(clss->name->bytes,
>> > "java/lang/reflect/AnnotatedElement") == 0)
>> > +             || (strcmp(clss->name->bytes,
>> > "java/lang/reflect/GenericDeclaration") == 0)
>> > +             || (strcmp(clss->name->bytes,
>> "java/lang/reflect/Type") ==
>> > 0));
>> >         clss->class_handle = NULL;
>> >     } else {
>> >         Class* root_class = env->JavaLangClass_Class;
>> >
>> > The other approach would be to remove this assertion completely, but
>> either
>> > way it seems to me that to work the VM code has to be patched.
>> >
>> > 2006/6/15, Geir Magnusson Jr <geir@pobox.com>:
>> >>
>> >> Ok, first round is committed.
>> >>
>> >> It's been tested on winXP, not linux, and will get to that later,
>> there
>> >> still are some tweaks...
>> >>
>> >> First, this is pretty primitive, and some things are really crude. 
>> I'm
>> >> sure we'll collectively fix and evolve.
>> >>
>> >> The two main things :
>> >>
>> >> 1) it uses a property to find the classlib on the local filesystem, it
>> >> doesn't build it, and assumes that it's done.
>> >>
>> >> 2) it works (according to build test) w/ the newest version of
>> classlib
>> >>
>> >>
>> >> I'm going to keep drilling on it.  I'd like to reuse the work that was
>> >> there to help get a shared dependency cache for all components of
>> >> Harmony.
>> >>
>> >> I'm also going to take a swipe at doing the 'federation' we talked
>> about
>> >> last week.
>> >>
>> >>
>> >> Suggestions and discussion always welcome.
>>
> 

---------------------------------------------------------------------
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


Mime
View raw message