harmony-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Egor Pasko <egor.pa...@gmail.com>
Subject Re: Architecture Questions - Moving to JreLite
Date Wed, 05 Mar 2008 06:22:52 GMT
On the 0x3FE day of Apache Harmony Xiao-Feng Li wrote:
> On Wed, Mar 5, 2008 at 9:50 AM, Johnny Kewl <john@kewlstuff.co.za> wrote:
> >
> >
> >  ----- Original Message -----
> >  From: "Xiao-Feng Li" <xiaofeng.li@gmail.com>
> >  To: <dev@harmony.apache.org>
> >  Sent: Tuesday, March 04, 2008 3:36 PM
> >  Subject: Re: Architecture Questions - Moving to JreLite
> >
> >
> >  > On Tue, Mar 4, 2008 at 5:56 PM, Johnny Kewl <john@kewlstuff.co.za> wrote:
> >  >> Newbie... please be gentle ;)
> >  >>
> >  >>  In relation to the *VM* how are these used and are they used at all,
if
> >  >> so
> >  >>  why.
> >  >>
> >  >>  BCEL?
> >  >>  (Probably introspection)
> >  >>
> >  >>  ICU?
> >  >>  (Unicode... its too big to be good)
> >  >>
> >  >>  XALAN
> >  >>  (please no)
> >  >>
> >  >>  XERCES
> >  >>  (please no)
> >  >>
> >  >>  Yoko
> >  >>  (Corba... I hope not)
> >  >>
> >  >>
> >  >>  Its almost perfect, the only area that naturally needs work is that the
> >  >> VM
> >  >>  does not distinguish between a user using the program and a programmer
> >  >>  that wants extra functionality... So Debuggers profiling tooling has
to
> >  >> be
> >  >>  made all optional and dynamic links
> >  >>
> >  >>  Two JIT compilers ... beautiful, the OPT compiler must be optional or
> >  >> late
> >  >>  loading, its perfect, if they can be separated?
> >  >
> >  > Well, I would suggest to approach the interesting JreLite project in
> >  > two almost independent phases. One is to deal with the non-VM stuff,
> >  > the other is to deal with the VM itself. The second phase might be
> >  > more challenging, but not really urgent, in my opinion.
> >  >
> >  > Btw, Johnny, have you any expectation on the size of JreLite? 10MB? 1MB?
> >
> >  Yes this is the million dollar question....
> >  I think an initial HIT of 3 megs is MAX... thats what I want to try get it
> >  to...
> >  That must be possible, because as I see the technology, it will be more
> >  efficient than Java Embedded, and that comes in at 5meg..
> >  I think even smaller is possible, but if JavaLite only makes an initial HIT
> >  of 3 megs.... Java is as free as a bird.
> >  Applications will be starting from email and the browser...
> >  Remember that the user does not install JreLite... they install a 80k boot
> >  strap program called JRELite... so no pain.
> >  The bootstrap JRELite is the initial loaded and platform detector... so what
> >  it feels like to the user, is that the "first" app they run
> >  is configuring the system.... the typical "Microsfot is now configuring your
> >  system" message... then the app starts, its not finished downloading
> >  but its running.... my guess, first time run on ADSL... 15 seconds before
> >  the user see's it start....
> >
> >  A  3 meg hit I think is a worst case... but even at that.... java has jumped
> >  out of it cage ;)
> >
> >
> 
> Ok, 3MB is quite ambitious. ;)  I think it's possible. But the problem
> to attack then changes: in my previous email, I said the project
> should probably start from the non-VM stuff, i.e., classlib packages;
> for 3MB JRE, now I would suggest to start from the direct VM part. You
> see the JIT already takes more than 3MB, and the VMcore as well. And
> once this is achieved, the non-VM part could be easier.

I support the idea of starting from non-VM part in this project.

> It's an install(.exe) application that is small and, as you said, can
> detect the platform and download necessary components. This installer
> is associated (or built-in) with the distributable Java applications.
> The user can simply launch (say, double click) the Java application
> without knowing about the JRE stuff. The installer will do three
> things:
> 1. start the app (primitively);
> 2. check if any components are missing or desirable;
> 3. check the platform if the missing components are installed already;
> 4. download the missing parts.
> 
> Thanks,
> xiaofeng
> 
> >  >
> >  > Thanks,
> >  > xiaofeng
> >  >
> >  >>  Where are fonts actually used, not directly in the VM I hope, ie its
AWT
> >  >> and
> >  >>  Swing classes, that *once loaded use them*, is that right?
> >  >>  Something like classloader loads up a Swing class, it draws, this is
a
> >  >>  method call outside VM logic and links straight out to a system dll?
> >  >>  Where is the native side of AWT and SWING living... in harmonyvm.dll?
> >  >>
> >  >>  Thanks... Harmony is great...
> >  >>
> >  >>
> >  >
> >  >
> >  >
> >  > --
> >  > http://xiao-feng.blogspot.com
> >  >
> >
> >
> 
> 
> 
> -- 
> http://xiao-feng.blogspot.com
> 

-- 
Egor Pasko


Mime
View raw message