Fix provided.

Should I be emailing the dev list when I fix something? Or should the issue just be marked as resolved?

I'm not really clear on the protocol (and yes, I read http:// harmony.apache.org/issue_resolution_guideline.html). :-)

Thanks,
Naveen

Begin forwarded message:

From: "Naveen Neelakantam (JIRA)" <[EMAIL PROTECTED]>
Date: February 26, 2007 6:41:05 PM CST
To: [EMAIL PROTECTED]
Subject: [jira] Updated: (HARMONY-3222) assertion fires with DaCapo eclipse (jitrino built in debug)


[ https://issues.apache.org/jira/browse/HARMONY-3222? page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Naveen Neelakantam updated HARMONY-3222:
----------------------------------------

    Attachment: imm_cast_bug.patch

This patch (imm_cast_bug) fixes the issue. The problem is with casting. Basically the following was occuring:

in32 cast to uint32 cast to int64

As a result, negative constants would become large positive constants:

-1 cast to 4294967295 cast to 4294967295

If this casted value was used to dereference an array it would be multipled by the array element size (let's say 4), which would exceed the maximum value that could fit in a 32-bit integer:

4294967295* 4 = 17179869180

assertion fires with DaCapo eclipse (jitrino built in debug)
------------------------------------------------------------

                Key: HARMONY-3222
URL: https://issues.apache.org/jira/browse/ HARMONY-3222
            Project: Harmony
         Issue Type: Bug
         Components: DRLVM
        Environment: RHEL4 update 4, core 2 duo, gcc 4.1.0
           Reporter: Naveen Neelakantam
        Attachments: imm_cast_bug.patch


To see the assert, jitrino must be built in debug mode and the - Xem:server option must be used
java -showversion -Xem:server -jar dacapo-2006-10-MR1.jar eclipse
Apache Harmony Launcher : (c) Copyright 1991, 2006 The Apache Software Foundation or its licensors, as applicable.
java version "1.5.0"
pre-alpha : not complete or compatible
svn = r510120, (Feb 21 2007), Linux/ia32/gcc 4.1.0, debug build
http://incubator.apache.org/harmony
===== DaCapo eclipse starting =====
<setting up workspace...>
<creating projects............................................................. .>
<running tests at level 0...>
<performing build tests...>
        org.apache.ant (not open) opening cleaning building
        org.junit (not open) opening cleaning building
java: /home/zilles/neelakan/Sandbox/Harmony/test/working_vm/vm/ jitrino/src/codegenerator/ia32/Ia32Inst.cpp:92: void Jitrino::Ia32::Opnd::setMemOpndSubOpnd (Jitrino::Ia32::MemOpndSubOpndKind, Jitrino::Ia32::Opnd*): Assertion `(so != MemOpndSubOpndKind_Displacement) || (2147483647 >= opnd->getImmValue() && (-2147483647 - 1) <= opnd->getImmValue ())' failed.

--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


Reply via email to