Return-Path: Delivered-To: apmail-incubator-harmony-dev-archive@www.apache.org Received: (qmail 85755 invoked from network); 11 Oct 2006 12:16:29 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (209.237.227.199) by minotaur.apache.org with SMTP; 11 Oct 2006 12:16:29 -0000 Received: (qmail 64712 invoked by uid 500); 11 Oct 2006 12:16:26 -0000 Delivered-To: apmail-incubator-harmony-dev-archive@incubator.apache.org Received: (qmail 64674 invoked by uid 500); 11 Oct 2006 12:16:26 -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 64662 invoked by uid 99); 11 Oct 2006 12:16:26 -0000 Received: from asf.osuosl.org (HELO asf.osuosl.org) (140.211.166.49) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 11 Oct 2006 05:16:26 -0700 X-ASF-Spam-Status: No, hits=2.5 required=10.0 tests=DNS_FROM_RFC_ABUSE,HTML_MESSAGE,SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (asf.osuosl.org: domain of pmcfirst@gmail.com designates 64.233.166.183 as permitted sender) Received: from [64.233.166.183] (HELO py-out-1112.google.com) (64.233.166.183) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 11 Oct 2006 05:16:25 -0700 Received: by py-out-1112.google.com with SMTP id c30so199392pyc for ; Wed, 11 Oct 2006 05:16:05 -0700 (PDT) DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=beta; d=gmail.com; h=received:message-id:date:from:to:subject:mime-version:content-type; b=A4PDSjZnBLnY1FgRmx9VQTVkJsBGoQujr2T+6G1yU7NMbY2siiaXmushpEgX+ijbTZAtuiC41TjpnFFgz6unjvktmeIvVAUSH+OXAThdLI55fsbFH8d7npQsfF/wTXpioMup8OculiEtdQ/YBk9MDdNSWS1gZm0T2KWfZlDdgiI= Received: by 10.35.12.13 with SMTP id p13mr678569pyi; Wed, 11 Oct 2006 05:15:59 -0700 (PDT) Received: by 10.35.31.10 with HTTP; Wed, 11 Oct 2006 05:15:58 -0700 (PDT) Message-ID: Date: Wed, 11 Oct 2006 16:15:58 +0400 From: "Pavel Pervov" To: harmony-dev@incubator.apache.org Subject: [dlrvm] ClassCircularityError in recursive compilation (Was: Re: [drlvm] smoke test : gc PhantomReferenceQueueTest is really unstable) MIME-Version: 1.0 Content-Type: multipart/alternative; boundary="----=_Part_2423_12431793.1160568958853" X-Virus-Checked: Checked by ClamAV on apache.org X-Spam-Rating: minotaur.apache.org 1.6.2 0/1000/N ------=_Part_2423_12431793.1160568958853 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Content-Disposition: inline (Branching from original thread as this is different problem than in the root message.) Mikhail, The following scenario will fail: 1) JIT compiles some method and resolves some class "A" through user defined class loader 2) user define class loader loads class "A" and triggers compilation of some of its methods 3) this method happens to depend on class "A", and, thus, JIT resolves the class "A" through the same class loader Voila! We have the described situation. Regards, Pavel. On 10/11/06, Mikhail Fursov wrote: > > Pavel, > Can you describe the problem with user's code only? > Would BEA or SUN VM be able to run the test? > I think we can create a separate discussion or JIRA for it. > > On 10/11/06, Pavel Pervov wrote: > > > > Michail, > > > > Generally speaking I can think of fully user code which produces exactly > > the > > same result. > > So, workarounding this in one place (finalizers) just is not enough. > > > > Regards, > > Pavel. > > > > On 10/11/06, Mikhail Fursov wrote: > > > > > > On 10/11/06, Salikh Zakirov wrote: > > > > > > > > I believe the real root cause is running java code from > > > > vm_hint_finalize(). > > > > A possible solution would be: > > > > > > > > - rewrite vm_hint_finalize() to just run 'notify' operation, without > > > > calling any real java code > > > > - handle reference queue in the finalizer thread instead of > enqueuing > > it > > > > directly from vm_hint_finalize() thread > > > > > > > > > > I support the idea to fix the finalization code. The requirement from > > JIT > > > to > > > use lazy resolution everywhere is overkill in this case. > > > Also the lazy resolution requires very significant changes in the > > current > > > Jitrino.OPT implementation and will make the static modes (-Xem:opt, > > > -Xem:sever_static) unusable because of the performance degradation. > > > > > > -- > > > Mikhail Fursov > > > > > > > > > > > > > -- > Mikhail Fursov > > ------=_Part_2423_12431793.1160568958853--