Return-Path: Delivered-To: apmail-harmony-commits-archive@www.apache.org Received: (qmail 60696 invoked from network); 2 May 2007 16:23:47 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 2 May 2007 16:23:47 -0000 Received: (qmail 82728 invoked by uid 500); 2 May 2007 16:23:44 -0000 Delivered-To: apmail-harmony-commits-archive@harmony.apache.org Received: (qmail 82695 invoked by uid 500); 2 May 2007 16:23:44 -0000 Mailing-List: contact commits-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 commits@harmony.apache.org Received: (qmail 82643 invoked by uid 99); 2 May 2007 16:23:44 -0000 Received: from herse.apache.org (HELO herse.apache.org) (140.211.11.133) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 02 May 2007 09:23:44 -0700 X-ASF-Spam-Status: No, hits=-100.0 required=10.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [140.211.11.4] (HELO brutus.apache.org) (140.211.11.4) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 02 May 2007 09:23:36 -0700 Received: from brutus (localhost [127.0.0.1]) by brutus.apache.org (Postfix) with ESMTP id 1F2F6714077 for ; Wed, 2 May 2007 09:23:16 -0700 (PDT) Message-ID: <23962513.1178122996125.JavaMail.jira@brutus> Date: Wed, 2 May 2007 09:23:16 -0700 (PDT) From: "Pavel Ozhdikhin (JIRA)" To: commits@harmony.apache.org Subject: [jira] Commented: (HARMONY-1748) [drlvm][jit] IllegalAccessError is not thrown when running test on Jitrino.OPT MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-Virus-Checked: Checked by ClamAV on apache.org [ https://issues.apache.org/jira/browse/HARMONY-1748?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12493134 ] Pavel Ozhdikhin commented on HARMONY-1748: ------------------------------------------ Pavel, thanks for reviewing the patch. There are several optimizations in JIT where invokeinterface might be substituted with a virtual or even direct call if the type of 'this' is known. All these optimizations use call to method_find_overridden_method() to identify a proper accessible method in the actual class. I can fix these several places in JIT (or the JIT part of the interface) with the same check, but changing one method in VM seems to me more elegant solution. I think the fix corresponds to the description of the method: "The function returns a method handle for an accessible method overriding mh in ch or in its closest superclass that overrides mh. Class ch must be a class not an interface." If mh's class is interface than an overriding (actually implementing) method must be public, otherwise IllegalAccessError occur during invocation of the method. I agree that changing this method might be sensitive. I can run VTS tests over this patch. Do you think this will be enough to ensure its correctness? > [drlvm][jit] IllegalAccessError is not thrown when running test on Jitrino.OPT > ------------------------------------------------------------------------------ > > Key: HARMONY-1748 > URL: https://issues.apache.org/jira/browse/HARMONY-1748 > Project: Harmony > Issue Type: Bug > Components: DRLVM > Environment: Windows XP, Pentium 4 3000 HT > Reporter: Alexander D Shipilov > Priority: Minor > Attachments: harmony-1748.patch, reproducecode.zip, reproducecodeJunit.zip > > > Harmony crashes during attempt of call protected method from class, if this method declared in parent interface as public. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.