Return-Path: Delivered-To: apmail-incubator-harmony-dev-archive@www.apache.org Received: (qmail 94945 invoked from network); 26 Sep 2006 17:45:40 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (209.237.227.199) by minotaur.apache.org with SMTP; 26 Sep 2006 17:45:40 -0000 Received: (qmail 56599 invoked by uid 500); 26 Sep 2006 17:45:38 -0000 Delivered-To: apmail-incubator-harmony-dev-archive@incubator.apache.org Received: (qmail 56237 invoked by uid 500); 26 Sep 2006 17:45:36 -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 56226 invoked by uid 99); 26 Sep 2006 17:45:36 -0000 Received: from idunn.apache.osuosl.org (HELO idunn.apache.osuosl.org) (140.211.166.84) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 26 Sep 2006 10:45:36 -0700 Authentication-Results: idunn.apache.osuosl.org smtp.mail=weldonwjw@gmail.com; spf=pass Authentication-Results: idunn.apache.osuosl.org header.from=weldonwjw@gmail.com; domainkeys=good X-ASF-Spam-Status: No, hits=2.8 required=5.0 tests=DNS_FROM_RFC_ABUSE,HTML_MESSAGE,MAILTO_TO_SPAM_ADDR Received-SPF: pass (idunn.apache.osuosl.org: domain gmail.com designates 64.233.184.231 as permitted sender) DomainKey-Status: good X-DomainKeys: Ecelerity dk_validate implementing draft-delany-domainkeys-base-01 Received: from [64.233.184.231] ([64.233.184.231:55067] helo=wr-out-0506.google.com) by idunn.apache.osuosl.org (ecelerity 2.1.1.8 r(12930)) with ESMTP id BD/50-14537-E3769154 for ; Tue, 26 Sep 2006 10:45:36 -0700 Received: by wr-out-0506.google.com with SMTP id 58so926873wri for ; Tue, 26 Sep 2006 10:45:32 -0700 (PDT) DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=beta; d=gmail.com; h=received:message-id:date:from:to:subject:in-reply-to:mime-version:content-type:references; b=R7Hi9eBGN13Fl8k7TazpEjKbSodMdl6JjFgMa+HMFcHl3Iz5HnqacPCNghiEW/iqGA6Ja7/j0iPb+8wQ4jrAbVZu+yPi2RMx7U8Sf1I2cua8tJtGKuxpqMweHorMntKW/rDrqCDzb5T4olI1w1flxz+XqnrdjnM2FlSEtzOIPRA= Received: by 10.90.51.17 with SMTP id y17mr1148738agy; Tue, 26 Sep 2006 10:45:32 -0700 (PDT) Received: by 10.90.79.7 with HTTP; Tue, 26 Sep 2006 10:45:32 -0700 (PDT) Message-ID: <4dd1f3f00609261045j10d07489v71747274bde2bba@mail.gmail.com> Date: Tue, 26 Sep 2006 10:45:32 -0700 From: "Weldon Washburn" To: harmony-dev@incubator.apache.org Subject: Re: [classlib][launcher] I am looking at the interaction between {classlib, launcher, drlvm} and {hysock, hysig, hythread} In-Reply-To: MIME-Version: 1.0 Content-Type: multipart/alternative; boundary="----=_Part_12450_7785743.1159292732286" References: <4dd1f3f00609221128s410191cl35e00df9d6c46e23@mail.gmail.com> <4dd1f3f00609250725k77c29964i418eb506b306b60f@mail.gmail.com> X-Spam-Rating: minotaur.apache.org 1.6.2 0/1000/N ------=_Part_12450_7785743.1159292732286 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Content-Disposition: inline On 9/26/06, Leo Li wrote: > > Hi, Weldon: > The usage of the argument of portLibrary is for the function to call > other functions of the port library if needed. The argument is just a > virtual function table, as you said, can be any implemenatation of the > HyPortLibrary struct, not only the HyPortLibrary struct the function > belongs > to. Of course, different HyPortLibrary might lead to different behavior of > the function if the HyPortLibrary is used by it. > I think the main purpose of the design is to alter some function of a > specified HyPortLibrary struct flexibly, especially at runtime: What is > necessary to do is just to change an entry in HyPortLibrary while the > altered function can make use of other functions as well as other > functions > can use it. > Am I all right?:) Hmmm... Interesting idea you have. Basically the idea is to rewrite the virtual function table _before_ any of the functions are used. This makes much more sense than the way drlvm currently boots up. By the way, is there any documentation that says what you are suggesting? In other words, was portlib specifically designed to do what you suggest? On 9/25/06, Weldon Washburn wrote: > > > > It looks like hysignal.c is using the right monitor enter/exit(). That > > is, > > the one > > from drlvm/trunk/build/win_ia32_msvc_debug/deploy/jre/bin/hythr.dll > > > > However, a bunch of functions in classlib's hysignal.c have an incoming > > argument of "HyPortLibrary *portlib". The portlib variable can either > > point > > to the original classlib portlib C struct. Or it can point to PORTLIB > > which > > is a C struct with all the entries nulled out (more on this later.) > > > > I think the next question to ask is what hysignal.c does with > > the "HyPortLibrary *portlib" argument. If anyone knows, please tell us. > > Otherwise I will keep digging. > > > > From stepping through DRLVM bootup, it looks like classlib's portlib is > > _dropped_ in signalProtectMain(). Then launcher gpProtectedMain calls > > invocation(PORTLIB,...) where PORTLIB is a nulled out HyPortLibrary C > > struct. We need to put comments in the code describing the switch from > > classlib's portlib to drlvm's nulled out version. > > > > On 9/22/06, Weldon Washburn wrote: > > > > > > All, > > > Its not clear at this moment what threading implementation is being > > > executed when hysignal.c calls hythread_monitor_enter(). If someone > > > already knows, please tell us. Otherwise, I will step through it > with > > the > > > debugger to find out what is going on. > > > - Weldon > > > > > > -- > > > Weldon Washburn > > > Intel Middleware Products Division > > > > > > > > > > > -- > > Weldon Washburn > > Intel Middleware Products Division > > > > > > > -- > Leo Li > China Software Development Lab, IBM > > -- Weldon Washburn Intel Middleware Products Division ------=_Part_12450_7785743.1159292732286--