Re: Bytecode & analyse

2001-06-05 Thread Philippe Laporte


Thierry Rochelet wrote:
Philippe Laporte wrote:
>
> Thierry Rochelet wrote:
>Hallo,
>   je ne
suis pas certain du sens de votre question. Vous
> suggerez d'utiliser ces outils pour parser le bytecode?
>
> Regards,
>
Non, pas du tout.
Un collegue m'a mis en tete l'idee qu'utiliser flex/bison pour faire
un
analyseur de bytecodes est la plus performante. N'etant pas certain
(apres avoir teste) du bien fonde de cette affirmation, je demande
juste
l'avis des pros.
Voila,mais, je ne suggere en aucun cas l'utilisation de ces outils
!
Merci
Thierry
> --
> Philippe Laporte 
Tel: (415) 243-4055 ext 1011
> Transvirtual Technologies, Inc.,  Fax:
(415) 243-4056
> San Francisco, CA, USA.  
Email:   [EMAIL PROTECTED]
>
>
ca serait beaucoup moins performant
Etes vous etudiant?



A plus tard

-- 
Philippe Laporte  Tel: (415) 243-4055 ext 1011 
Transvirtual Technologies, Inc.,  Fax: (415) 243-4056
San Francisco, CA, USA.   Email:   [EMAIL PROTECTED]
 


Re: Bytecode & analyse

2001-06-04 Thread Philippe Laporte


Thierry Rochelet wrote:
Hi,
I have a few question about bytecode analyse and the Kaffe development.
What about using tools such as Flex/Bison ?
Why don't you choose that way ?
Thanks.
Thierry
Hallo,
  je ne suis pas
certain du sens de votre question. Vous suggerez d'utiliser ces outils
pour parser le bytecode?
Regards,
-- 
Philippe Laporte  Tel: (415) 243-4055 ext 1011 
Transvirtual Technologies, Inc.,  Fax: (415) 243-4056
San Francisco, CA, USA.   Email:   [EMAIL PROTECTED]
 


Re: I don't want to receive some MAILS anymore

2001-05-16 Thread Philippe Laporte


Julien Grépillat wrote:
I don't want to receive some MAILS anymore
je crois plutot que vous ne voulez pas recevoir ALL or ANY mails
 
 
-- 
Philippe Laporte  Tel: (510) 527-4025 ext 14 
Transvirtual Technologies, Inc.,  Fax: (510) 559-3287
San Francisco, CA, USA.   Email:   [EMAIL PROTECTED]
 


Re: kaffe native interface

2001-05-08 Thread Philippe Laporte


Hi,
 the second explanation is the right one
You can find plenty of documentation on the JNI at
http://www.transvirtual.com/~peter/native/

Regards,
--
Philippe Laporte  Tel: (510) 527-4025 ext 14
Transvirtual Technologies, Inc.,  Fax: (510) 559-3287
Berkeley, CA, USA.Email:   [EMAIL PROTECTED]



Nic Ferrier wrote:

> Kaffe uses 2 different native interfaces... "native" seems to be kaffe
> specific but also the standard jni.
>
> Is there a design reason for this? Is native more efficient?
>
> Or is it simply that jni was firmed up long after most of kaffe was
> written and "native" is the historic native interface for Kaffe?
>
> Nic Ferrier




Re: Kaffe memory minimum

2001-02-27 Thread Philippe Laporte


Hi,
 If you are enthusiastic about having Kaffe
run on embedded systems, you might liketo take a look at the  pocketlinux 
project, which uses Kaffe.
Regards,
-- 
Philippe Laporte 
Tel: (510) 527-4025 ext 14 
Transvirtual Technologies, Inc.,  Fax:
(510) 559-3287
Berkeley, CA, USA.   
Email:   [EMAIL PROTECTED]
 
 
Javier Garcia wrote:
Hi everybody. I'm still trying to install Kaffe in
an
embedded system, with a lot of limitations of memory.
The goal is to have it using a total amount of dynamic
memory (included all the stacks and the binaries) of
around 5Mb. I have downloaded the last version, and I
have installed it with the next line to configure:
>>configure --enable-dependency-tracking
--with-engine=intrp --disable-debug
--disable-xprofiling --disable-xdebugging
--disable-feedback --without-profiling
--without-suncompat --without-x --without-stats
And I got a size of the binaries of 2.444 Mb. But the
'big' problem is the heap (because I think the other
two stacks (Java and native) are quite small). When I
try to execute some test programs with a maximum heap
size of 5 Mb (minimum heap size 5Mb also) I get a 'Out
of memory' error, so I haven't even tried to use a
smaller heap.  Anybody knows if it's possible to have
everything running with 5 Mb (binaries and stacks).
And if it's possible, how to do it? Thanks for all in
advance.
   
Javi.
P.D. I have seen somewhere an option for configure:
--with-optimize-memory. I haven't tried it, I'll do
and I'll tell you.
___
Do You Yahoo!?
Envía mensajes instantáneos y recibe alertas de correo
con
Yahoo! Messenger - http://messenger.yahoo.es



Re: Running VM State - Modification, Complexity, Cleanliness

2001-02-12 Thread Philippe Laporte


Hi,
 you can find a pretty good description of
Sun's VM implementation in the following book. Sun is "very proud" and
so will discuss/disclose almost anything.
http://java.sun.com/docs/books/performance/
 
Kaffe is not very much documented. You can find some description of
some of its parts at
http://www.CS.McGill.CA/~laporte/kaffereport/report.html
Regards,
 
-- 
Philippe Laporte  Tel: (510) 527-4025 ext 14 
Transvirtual Technologies, Inc.,  Fax: (510) 559-3287
Berkeley, CA, USA.    Email:   [EMAIL PROTECTED]
 
 
 
 
 
Nathan Meyers wrote:
On Mon, Feb 12, 2001 at 07:08:24AM -0800, Steve Sansha
wrote:
> Also: Does the Virtual Machine allow self-modifying
> code?  I'm sure it's possible for the bytecode to
> create a new byte[] and use custom-built classloader
> to actually load it, but is their an easier
> alternative?
> (I'm guessing it's not, since it's a type-safe
> language)
You may find a broken VM implementation that lets you do such a thing,
but
Java's pretty strict about access to memory. Writing into space occupied
by loaded bytecodes isn't in spec. And, with the possibility that the
code
has been JITted, changing bytecodes on the fly would be very bad news.
Custom classloaders are easy to write - there really is no "easier
alternative". Loading your own manufactured bytecodes requires an almost
trivial subclass of ClassLoader.
> Also: I'm sending this to Kaffe because it seems to be
> the best-documented, best-spirited VM... But just so I
>
> know, are their any documents (except the in-source
> code documentation) for Sun's reference
> implementation?  I've looked around and can't find
> any.
Sun publishes detailed specs about the language, the JVM, the classfile
format, and such. As for details on JVM implementation - I doubt it.
And
that's a moving target anyway.
Nathan
>
> (Thanks * 1,000,000)  -Steve
>
>
> __
> Do You Yahoo!?
> Get personalized email addresses from Yahoo! Mail - only $35
> a year!  http://personal.mail.yahoo.com/



Re: Kaffe JIT: what does it do? really no porting doc?

2001-01-17 Thread Philippe Laporte


Hi,
   I think the following is a decent beginning explanation of the Kaffe JIT:

http://www.CS.McGill.CA/~laporte/kaffereport/report.html

Tell me what you think,
-- 
Philippe Laporte  Tel: (510) 527-4025 ext 14 
Transvirtual Technologies, Inc.,  Fax: (510) 559-3287
Berkeley, CA, USA.Email:   [EMAIL PROTECTED]


On Tuesday 16 January 2001 09:06, Aaron Van Couwenberghe wrote:
> On Tue, Dec 26, 2000 at 12:36:03PM +0100, Renaud Marlet wrote:
> > Hi,
> >
> > Looking at the Kaffe web site and at the source code, I have not been
> > able to clearly understand what the Kaffe JIT was doing.
> >   - does it do anything more than removing the interpretation loop
> > and the operand stack?
> >   - how is register allocation performed?  (I have not seen a separate
> > phase but rather what looks like an "on-the-fly" allocation.)
> >   - what are differences between JIT and JIT3 (besides that it runs
> > faster)?
> >
> > The web site says "Porting Kaffe's JIT compiler is a much more
> > complex undertaking.  It requires you to define the instruction
> > set and register architecture of a given platform.  See config/*/jit*
> > for examples.  We would welcome documentation here."  Is it really
> > the case that there currently is no documentation to guide porting?
> >
> > Thanks,
> >
> > Renaud Marlet
> > --
> > http://www.trusted-logic.fr -- Tel +33 1 30 97 25 08 (Fax 25 19)
> > http://www.irisa.fr/compose/marlet
>
> Not quite. I asked a similar question some time ago on this list, and there
> is a document floating around the web that gives at least a bit of detail.
> The title has something to do with springboards But the document went
> over one architecture piece by piece.




Re: Ahead Of Time compilation with Kaffe

2000-12-19 Thread Philippe Laporte


please await Tim's comment on this matter


On Tuesday 19 December 2000 17:56, Marcus Smith wrote:
> On Tue, 19 Dec 2000 18:34:20 Philippe Laporte wrote:
> > On Tuesday 19 December 2000 17:14, Marcus Smith wrote:
> > > On Tue, 19 Dec 2000 15:15:26 Philippe Laporte wrote:
> > > > If you mean simply to compile the classes before running them, this
> >
> > is
> >
> > > > done
> > > > with gcj in the pocketlinux version
> > > >
> > > > Regards,
> > > > --
> > > > Philippe Laporte  Tel: (510) 527-4025 ext 14
> > > > Transvirtual Technologies, Inc.,  Fax: (510) 559-3287
> > > > Berkeley, CA, USA.Email:
> >
> > [EMAIL PROTECTED]
> >
> > > >On Tuesday 19 December 2000 13:40, Marcus Smith wrote:
> > > > > Hi,
> > > > >
> > > > >   Has anyone looked at "Ahead Of Time" compilation with Kaffe?
> > > > >
> > > > > Marcus Smith
> > >
> > > Does this create native code at compile time?
> > >
> > > Marcus
> >
> > yes
> >
> > --
> > Philippe Laporte  Tel: (510) 527-4025 ext 14
> > Transvirtual Technologies, Inc.,  Fax:     (510) 559-3287
> > Berkeley, CA, USA.Email:   [EMAIL PROTECTED]
>
> I read in the Kaffe 1.0.6 gcj FAQ that this "feature" has been turned off
> since gcc 2.96 broke it (somehow).
> Are you saying that transvirtual has fixed this and it exists in the
> transvirtual cvs repository?
>
> Marcus

-- 
Philippe Laporte  Tel: (510) 527-4025 ext 14 
Transvirtual Technologies, Inc.,  Fax: (510) 559-3287
Berkeley, CA, USA.Email:   [EMAIL PROTECTED]



Re: Ahead Of Time compilation with Kaffe

2000-12-19 Thread Philippe Laporte


On Tuesday 19 December 2000 17:14, Marcus Smith wrote:
> On Tue, 19 Dec 2000 15:15:26 Philippe Laporte wrote:
> > If you mean simply to compile the classes before running them, this is
> > done
> > with gcj in the pocketlinux version
> >
> > Regards,
> > --
> > Philippe Laporte  Tel: (510) 527-4025 ext 14
> > Transvirtual Technologies, Inc.,  Fax: (510) 559-3287
> > Berkeley, CA, USA.Email:   [EMAIL PROTECTED]
> >
> >On Tuesday 19 December 2000 13:40, Marcus Smith wrote:
> > > Hi,
> > >
> > >   Has anyone looked at "Ahead Of Time" compilation with Kaffe?
> > >
> > > Marcus Smith
>
> Does this create native code at compile time?
>
> Marcus

yes

-- 
Philippe Laporte  Tel: (510) 527-4025 ext 14 
Transvirtual Technologies, Inc.,  Fax: (510) 559-3287
Berkeley, CA, USA.Email:   [EMAIL PROTECTED]



Re: Ahead Of Time compilation with Kaffe

2000-12-19 Thread Philippe Laporte


I'll let Tim answer that one when he comes back from all over the place -:)

Regards,

-- 
Philippe Laporte  Tel: (510) 527-4025 ext 14 
Transvirtual Technologies, Inc.,  Fax: (510) 559-3287
Berkeley, CA, USA.Email:   [EMAIL PROTECTED]



On Tuesday 19 December 2000 15:11, Patrick Tullmann wrote:
> Philippe Laporte wrote:
> > If you mean simply to compile the classes before running them, this
> > is done with gcj in the pocketlinux version
>
> Whoa!  Really?  I know `vanilla' Kaffe has some rudimentary support
> for GCJ; is that what the pocketlinux version uses?  Has it been
> improved from what is in Kaffe?
>
> Are there any plans to merge the stock Kaffe tree and the pocketlinux
> Kaffe tree?  Or are you guys forking your own open source project??
>
> -Pat
>
> - -  ---  ---  --   --  - -   -
> Pat Tullmann   [EMAIL PROTECTED]
>  A closed mouth gathers no foot.




Re: Ahead Of Time compilation with Kaffe

2000-12-19 Thread Philippe Laporte


If you mean simply to compile the classes before running them, this is done 
with gcj in the pocketlinux version

Regards,
-- 
Philippe Laporte  Tel: (510) 527-4025 ext 14 
Transvirtual Technologies, Inc.,  Fax: (510) 559-3287
Berkeley, CA, USA.Email:   [EMAIL PROTECTED]



On Tuesday 19 December 2000 13:40, Marcus Smith wrote:
> Hi,
>
>   Has anyone looked at "Ahead Of Time" compilation with Kaffe?
>
> Marcus Smith




Re: Re[2]: slowLockMutex / putHeavyLock

2000-11-30 Thread Philippe LaPorte


A little bit unrelated, but you may put 

else if ((val - (uintp)where) > (STACKREDZONE / 2) )


to optimize hopefully a bit


Regards,

-- 
Philippe Laporte
Optimization Engineer Tel: (510) 527-4025 ext 14 
Transvirtual Technologies, Inc.,  Fax: (510) 559-3287
Berkeley, CA, USA.Email:   [EMAIL PROTECTED]



On Thursday 30 November 2000 17:54, Godmar Back wrote:
> > /*
> >  * Lock a mutex - try to do this quickly but if we failed because
> >  * we can't determine if this is a multiple entry lock or we've got
> >  * contention then fall back on a slow lock.
> >  */
> > void
> > _lockMutex(iLock** lkp, void* where)
> > {
> > uintp val;
> >
> > val = (uintp)*lkp;
> >
> > if (val == 0) {
> > if (!COMPARE_AND_EXCHANGE(lkp, 0, (iLock*)where)) {
> > slowLockMutex(lkp, where);
> > }
> > }
> > else if (val - (uintp)where > 1024) {
> > /* XXX count this in the stats area */
> > slowLockMutex(lkp, where);
> > }
> > }
> >
> > as you see - lkp is not protected at all.
> > If val != 0, this doesn't mean that in next
> > statement it's != 0, i.e. in this time another
> > thread may execute some code to change lkp.
>
> If *lkp becomes null, that means some other thread
> unlocked the mutex since - we can still safely call slowLockMutex.
> (Worst thing that happens will be that we'll put a heavy lock in
> place where we don't need one - a small optimization in slowLockMutex
> avoids that ...)
>
> The only situation in which we rely on the value read from *lkp is when
> it's != 0 && *lkp - where <= 1024.  However, in this situation
> we're holding the lock already so no other thread can write *lkp.
> This is a recursive enter.
>
> There are two undocumented assumptions here: namely that
> LOCK_INPROGRESS - where > 1024, because *lkp can be LOCK_INPROGRESS,
> and that the stack grows down.  This is all perfectly 64bit safe and
> architecture-independent.
>
> > Actually, all code related to lkp must be under
> > jthread_spinon/jthread_spinoff protection, right?
>
> I don't believe so.
> That would defeat the whole purpose of fast synchronization.
>
> The COMPARE_AND_EXCHANGE must be atomic, and not the bogus
> one in locks.c (do what Pat suggested.)
>
>   - Godmar



Re: Add javax.* packages

2000-11-20 Thread Philippe Laporte



Hi,
 well it is not real real-time -:), but rather,
the threads are scheduled within the real-time scheduling class of Linux,
which is soft realtime.
I don't know when it will be merged in with the OpenVM version, although
this has been announced, so it should be in the near future.
In the mean-time I can send anyone the few files needed for soft real-time
on linux.
I do not have performance benchmarks yet, but I did get a significant
improvemnt on a single benchmark I use which I find to strain the mem alloc,
gc and string manipulation apsects of java performance.
Our ultimate goat at TVT is to have pocketlinux run under pthreads real-time.
Regards,
-- 
Philippe Laporte
Optimization Engineer
Tel: (510) 527-4025 ext 14 
Transvirtual Technologies, Inc.,  Fax:
(510) 559-3287
Berkeley, CA, USA.   
Email:   [EMAIL PROTECTED]
 
Erik Hu wrote:

Hi
Philippe Based on RTSJ (www.rtj.org)
proposal, I have recently modified Kaffe for real-time applications. The
previous implementation has created a javax.realtime package and modified
the Kaffe VM for real-time purpose (jthread) under Linux. The modification
of Kaffe VM includes the priority inheritance protocol, management of RealtimeThread
and PeriodicThread, and other modifications. In
fact, the previous version was missing the memory modifications and some
other classes of the RTSJ specification. I also simplified the creation
of javax.realtime package into Klasses.jar (Klasses.jar = java.lang.* +
javax.realtime.*). Now,
Cris is going to complete some lacking parts of my previous implementation
and separate the javax.realtime package from Klasses.jar.
Could you please tell us your current
achievement of pthreads porting for Real-time applications ?  When
will the ptherad real-time of Kaffe be merged into traditional Open Kaffe
VM ? Regards,Erik

- Original Message -

From:Philippe
Laporte

To: [EMAIL PROTECTED]

Sent: Monday, November 20, 2000 4:39
PM

Subject: Re: Add javax.* packages
 Hi,
 I am very interested in this project. Can
you share what modifications you made, and what are your goals?
I have recently done the pthreads soft real-time port of Kaffe under
linux.
Thank you,
-- 
Philippe Laporte
Optimization Engineer Tel: (510) 527-4025 ext 14 
Transvirtual Technologies, Inc.,  Fax: (510) 559-3287
Berkeley, CA, USA.    Email:   [EMAIL PROTECTED]
 



 




Re: Add javax.* packages

2000-11-20 Thread Philippe Laporte


Hi,
 I am very interested in this project. Can
you share what modifications you made, and what are your goals?
I have recently done the pthreads soft real-time port of Kaffe under
linux.
Thank you,
-- 
Philippe Laporte
Optimization Engineer Tel: (510) 527-4025 ext 14 
Transvirtual Technologies, Inc.,  Fax: (510) 559-3287
Berkeley, CA, USA.    Email:   [EMAIL PROTECTED]
 
 
 
 
 
C Pedley wrote:
Surely the Makefile.in files are automatically generated
from
the Makefile.am files and do not require modification.  I forgot
to mention the first time that I have also updated the configure.in
file.
I am sure I wish to do this as I'm implementing the javax.realtime
package on top of a modified kaffe.
On Thu, 16 Nov 2000, Nic Ferrier wrote:
>
> >>> C Pedley <[EMAIL PROTECTED]> 16-Nov-00 11:57:15 AM >>>
>
> >My approach so far has been:  I have a new package I wish
> >to create, say called javax.new  So I created a new folder
> >in the libraries/extensions folder, and then copied the
> >directory structure and makefile.am format from the servlet
> >package that is located here (obviously changing "servlet"
> >to "new" wherever this is appropriate).  However, when
> >attempting to use these makefiles an error is thrown as
> >it doesn't know how to build the new.jar archive.  Any
> >ideas?
>
> You have to alter the Makefile.in and run automake if you want to
> change the distrib.
>
> But are you sure you want to do that?
>
>
> Nic
>



Re: incremental gc

2000-11-07 Thread Philippe Laporte


Sorry,
  yet, the two versions will be merged soon enough

Regards


Godmar Back wrote:

> >
> >  Concurrent incremental gc is in development and should be integrated
> > in the near future. In kaffe 1.0.6, it is mem2.
> >
>
> mem2 is only in Transvirtual's still private tree.  It's not part
> of the public tree, and neither is it part of 1.0.6.
>
> - Godmar




Re: incremental gc

2000-11-07 Thread Philippe Laporte


Hi,
 Concurrent incremental gc is in development
and should be integrated in the near future. In kaffe 1.0.6, it is mem2.
 
 
-- 
Philippe Laporte
Optimization Engineer Tel: (510) 527-4025 ext 14 
Transvirtual Technologies, Inc.,  Fax: (510) 559-3287
Berkeley, CA, USA.    Email:   [EMAIL PROTECTED]
 
 
 
 
 
Fang Wei Jian wrote:
Until now, there is no incremental gc implementation
in kaffe.
Incremental gc is of necessity to provide a non-disruptive java program
execution, especially when working in a real-time or interactive
environment. Is there any plan to implement incremental gc in kaffe?
fwj