Return-Path: Delivered-To: apmail-harmony-commits-archive@www.apache.org Received: (qmail 81680 invoked from network); 31 May 2007 15:01:38 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 31 May 2007 15:01:38 -0000 Received: (qmail 19651 invoked by uid 500); 31 May 2007 15:01:42 -0000 Delivered-To: apmail-harmony-commits-archive@harmony.apache.org Received: (qmail 19636 invoked by uid 500); 31 May 2007 15:01:42 -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 19623 invoked by uid 99); 31 May 2007 15:01:42 -0000 Received: from herse.apache.org (HELO herse.apache.org) (140.211.11.133) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 31 May 2007 08:01:42 -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; Thu, 31 May 2007 08:01:37 -0700 Received: from brutus (localhost [127.0.0.1]) by brutus.apache.org (Postfix) with ESMTP id E3A3E71417F for ; Thu, 31 May 2007 08:01:16 -0700 (PDT) Message-ID: <6166176.1180623676898.JavaMail.jira@brutus> Date: Thu, 31 May 2007 08:01:16 -0700 (PDT) From: "Mikhail Fursov (JIRA)" To: commits@harmony.apache.org Subject: [jira] Updated: (HARMONY-3658) [drlvm][jit] Incorrect class resolution / initialization order in JET and OPT compilers In-Reply-To: <25222366.1176708255518.JavaMail.jira@brutus> 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-3658?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Mikhail Fursov updated HARMONY-3658: ------------------------------------ Attachment: static_init3.diff static_init3.diff: em64t issue fixed. > [drlvm][jit] Incorrect class resolution / initialization order in JET and OPT compilers > --------------------------------------------------------------------------------------- > > Key: HARMONY-3658 > URL: https://issues.apache.org/jira/browse/HARMONY-3658 > Project: Harmony > Issue Type: Bug > Components: DRLVM > Reporter: Mikhail Fursov > Assignee: Alexey Varlamov > Attachments: gdb.txt, static_init.diff, static_init2.diff, static_init3.diff > > > While working on lazy resolution support in JIT I found the problem that both JET and OPT process 'new' bytecode incorrectly: > For the test below: > public class Hello { > public static void main(String[] args) { > int x = 1; > try { > new Foo(x=0); > } catch (Error e) { > System.out.println(x); > } > } > } > class Foo { > static { > exception(); > } > static void exception() { > throw new RuntimeException(); > } > Foo(int x) { > System.out.println("FAILED!"); > } > } > RI and interpreter print '0' > while JET and OPT print '1' > Disassembly: > public static void main(String args[]) > { > int i = 1; > // 0 0:iconst_1 > // 1 1:istore_1 > try > { > new Foo(i = 0); > // 2 2:new #2 > // 3 5:dup > // 4 6:iconst_0 > // 5 7:dup > // 6 8:istore_1 > // 7 9:invokespecial #3 > // 8 12:pop > } > //* 9 13:goto 24 > catch(Error error) > //* 10 16:astore_2 > { > System.out.println(i); > // 11 17:getstatic #5 > // 12 20:iload_1 > // 13 21:invokevirtual #6 > } > // 14 24:return > } -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.