Return-Path: Delivered-To: apmail-harmony-dev-archive@www.apache.org Received: (qmail 53302 invoked from network); 26 Jan 2007 19:12:00 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 26 Jan 2007 19:12:00 -0000 Received: (qmail 83704 invoked by uid 500); 26 Jan 2007 19:12:04 -0000 Delivered-To: apmail-harmony-dev-archive@harmony.apache.org Received: (qmail 83669 invoked by uid 500); 26 Jan 2007 19:12:03 -0000 Mailing-List: contact dev-help@harmony.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@harmony.apache.org Delivered-To: mailing list dev@harmony.apache.org Received: (qmail 83660 invoked by uid 99); 26 Jan 2007 19:12:03 -0000 Received: from herse.apache.org (HELO herse.apache.org) (140.211.11.133) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 26 Jan 2007 11:12:03 -0800 X-ASF-Spam-Status: No, hits=-0.0 required=10.0 tests=SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (herse.apache.org: domain of ronald.servant@gmail.com designates 64.233.182.191 as permitted sender) Received: from [64.233.182.191] (HELO nf-out-0910.google.com) (64.233.182.191) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 26 Jan 2007 11:11:55 -0800 Received: by nf-out-0910.google.com with SMTP id a4so1221875nfc for ; Fri, 26 Jan 2007 11:11:34 -0800 (PST) DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=beta; h=received:message-id:date:from:to:subject:in-reply-to:mime-version:content-type:content-transfer-encoding:content-disposition:references; b=fC2xVwtjkhXMYf8fkvEVW8EZfwLWyj2ddinkGA4lMOqA8P+0LLadzDsBa0ud2GAOX6NczDmvwn4JDDdZ8/ruZNucMJo/GMyyG0K+jXlhhuaq7Pj8DHX6nXLqwpD+E7dImi9BXoMloJwr7X1PA2wRlCMC71rA1HPA1OhHvw57cjc= Received: by 10.49.43.2 with SMTP id v2mr5989560nfj.1169838693879; Fri, 26 Jan 2007 11:11:33 -0800 (PST) Received: by 10.48.208.7 with HTTP; Fri, 26 Jan 2007 11:11:33 -0800 (PST) Message-ID: <9247407c0701261111n3f86f601s8ce4e18e672e6ec9@mail.gmail.com> Date: Fri, 26 Jan 2007 14:11:33 -0500 From: "Ronald Servant" To: dev@harmony.apache.org Subject: Re: [vmi] thread library In-Reply-To: <45B93BD4.2090203@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Content-Disposition: inline References: <45B78F90.6070605@gmail.com> <45B93BD4.2090203@gmail.com> X-Virus-Checked: Checked by ClamAV on apache.org On 1/25/07, Tim Ellison wrote: [SNIP] > > The same thought came to me soon after posting; there is a dependency on > threadlib from the portlib, and the portlib functions don't get a > reference that can reach 'back' to the VMI struct. > > So while it may be apparent in the launcher, it would be equally > apparent in the portlib functions themselves, since they would have no > reachable threadlib. > > So maybe, as you say, we need to make the threadlib functions an > extension of the current portlib function table rather than the VMI > struct, and have them provided by a DLL loaded by the VM (and the thread > function table populated in the portlib initialization code). Making the threadLib functions an extension of the portLib function table seems a little odd to me. IMHO it implies that the components portLib and threadLib are being provide together. When in fact the portLib is Harmony code and the threadLib is a per VM implementation. > Any other options? We could pass in an initialized threadLibrary into the portLibrary initialization functions -OR- we could, as mentioned above have the portLibrary do the initialization of the thread Library -OR- a mix of both (pass in a null for threadLibrary means please create one). We could then add a function to the portLibrary that would return the threadLibrary function table. In either case, I don't see the thread functions being a part of the same table as the port functions. This would also allow us to provide the vmi get thread library function by using the portLibrary. I am working on a patch to implement this now with the IBM VME, I hope to make it available for review/evaluation early next week. Ronald Servant -- J9 VM Development IBM Ottawa Software Lab