Return-Path: Delivered-To: apmail-incubator-harmony-dev-archive@www.apache.org Received: (qmail 70552 invoked from network); 24 May 2005 09:25:17 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (209.237.227.199) by minotaur.apache.org with SMTP; 24 May 2005 09:25:17 -0000 Received: (qmail 46307 invoked by uid 500); 24 May 2005 09:25:12 -0000 Delivered-To: apmail-incubator-harmony-dev-archive@incubator.apache.org Received: (qmail 46247 invoked by uid 500); 24 May 2005 09:25:11 -0000 Mailing-List: contact harmony-dev-help@incubator.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: harmony-dev@incubator.apache.org Delivered-To: mailing list harmony-dev@incubator.apache.org Received: (qmail 46219 invoked by uid 99); 24 May 2005 09:25:11 -0000 X-ASF-Spam-Status: No, hits=0.1 required=10.0 tests=FORGED_RCVD_HELO X-Spam-Check-By: apache.org Received-SPF: neutral (hermes.apache.org: local policy) Received: from mail.apex.net.au (HELO mail.apex.net.au) (203.20.62.10) by apache.org (qpsmtpd/0.28) with ESMTP; Tue, 24 May 2005 02:25:09 -0700 Received: from anu.edu.au (xact-158-78.apex.net.au [202.55.158.78]) by mail.apex.net.au (8.11.6/8.11.6) with ESMTP id j4O9Ouq02882 for ; Tue, 24 May 2005 19:24:59 +1000 Message-ID: <4292F2DF.4090401@anu.edu.au> Date: Tue, 24 May 2005 19:24:47 +1000 From: Steve Blackburn Reply-To: Steve.Blackburn@anu.edu.au Organization: Australian National University User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.6) Gecko/20040510 X-Accept-Language: en-us, en MIME-Version: 1.0 To: harmony-dev@incubator.apache.org Subject: Re: Terminology etc References: <4292C425.50408@anu.edu.au> <4292EA7F.9070507@earthlink.net> In-Reply-To: <4292EA7F.9070507@earthlink.net> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-Virus-Checked: Checked X-Spam-Rating: minotaur.apache.org 1.6.2 0/1000/N Dmitry Serebrennikov wrote: > A quick proposal: perhaps "VM bootstrap" as used below should really > be something like "VM initialization," "VM init," or even "VM > startup", since the word "bootstrap" is very specific and to me at > least, indicates something more akin to the "VM bootloader" + "VM boot > image" (as used below). That sounds fine with me. It is hard to move outside one's own (limited) terminology :-). We have "boot()" methods on each of the key components and a "boot()" method in the vm core which calls these. That's the origins of my terminology. Init seems reasonable and disambiguates the role of the bootloader. Probably the original rationale for using the "boot" word is that there is a higher level of "bootstrapping" going on here---getting the classloader loaded before you have a class loader ;-) etc etc. But I agree, "init" may be helpful. > * "OS interface" is perhaps one place where some code can be shared. > If C version can benefit from an OS abstraction layer for portability, > then it seems like this layer could be shared between the C and the > Java implementations. I agree. It turns out to be a tiny amount of code though (in the case of Jikes RVM, at least). > * The meat of the VM seems to be in the "spokes" that connect to the > "VM core-hub". It seems that this is where it would make the most > sense to mix components written in C with those written in Java, to > see which one can do a better job. If all spokes were in C, it would > make little sense to have the hub be in Java... On the other hand if > spokes are all Java, it makes little sense to have the hub be in C. > > Steve, if the spokes were in Java but the hub in C, would we then lose > all of the aggressive inlining benefits that Java-in-Java solution can > provide? I don't know. These are really interesting questions and ones I think we need to hear lots of informed opinion on. My experience with mixing C & Java inside the VM is limited to the interface to the MM. The inlining issue is key there because of the fine grain at which those interactions occur. Scheduling, compilation and classloading are very much coarser grained, so those issues are much less critical there... Cheers, --Steve