Return-Path: Delivered-To: apmail-harmony-commits-archive@www.apache.org Received: (qmail 10719 invoked from network); 22 Mar 2007 11:16:53 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 22 Mar 2007 11:16:53 -0000 Received: (qmail 17768 invoked by uid 500); 22 Mar 2007 11:17:01 -0000 Delivered-To: apmail-harmony-commits-archive@harmony.apache.org Received: (qmail 17743 invoked by uid 500); 22 Mar 2007 11:17:01 -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 17734 invoked by uid 99); 22 Mar 2007 11:17:01 -0000 Received: from herse.apache.org (HELO herse.apache.org) (140.211.11.133) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 22 Mar 2007 04:17:01 -0700 X-ASF-Spam-Status: No, hits=0.0 required=10.0 tests= 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, 22 Mar 2007 04:16:52 -0700 Received: from brutus (localhost [127.0.0.1]) by brutus.apache.org (Postfix) with ESMTP id 4C1A2714070 for ; Thu, 22 Mar 2007 04:16:32 -0700 (PDT) Message-ID: <2461776.1174562192308.JavaMail.jira@brutus> Date: Thu, 22 Mar 2007 04:16:32 -0700 (PDT) From: "George Timoshenko (JIRA)" To: commits@harmony.apache.org Subject: [jira] Updated: (HARMONY-3470) [drlvm][jit][opt] 64-bit to 32-bit value conversion though stack when storeing compressed reference In-Reply-To: <16034027.1174562072308.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-3470?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] George Timoshenko updated HARMONY-3470: --------------------------------------- Attachment: HARMONY-3470_1.patch the fix for issue 1 > [drlvm][jit][opt] 64-bit to 32-bit value conversion though stack when storeing compressed reference > --------------------------------------------------------------------------------------------------- > > Key: HARMONY-3470 > URL: https://issues.apache.org/jira/browse/HARMONY-3470 > Project: Harmony > Issue Type: Bug > Components: DRLVM > Environment: EM64T > Reporter: George Timoshenko > Priority: Minor > Attachments: HARMONY-3470_1.patch > > > Before storeing a reference it is being compressed. > After compression the reference fits into 32 bits. > But due to some collision Jitrino before storeing the reference performs a conversion: > store the reference onto the stack as a 64-bit reference and then load it as a 32-bit value. > This code appeares after spillgen pass of codegenerator > Asm code example: > mov r12,rcx > mov rcx,2AAAAD800000h > sub r12,rcx > mov qword ptr [rsp+8],r12 > mov eax,dword ptr [rsp+8] > mov dword ptr [rdi+1Ch],eax > 3 latest movs should be replaced into the single command: > mov r12,rcx > mov rcx,2AAAAD800000h > sub r12,rcx > mov dword ptr [rdi+1Ch],r12d > There are two issues actually: > - 64->32 conversion for compressed references > - general conversion > the first one can be solved in codeSelector > the second one should be fixed in spillgen -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.