ARM: Sign extend byte loads in accessors

Andrew Haley aph at redhat.com
Wed Nov 2 09:24:24 PDT 2011


I'm looking at jtreg failures.

I think I'm getting to the point where I'm finding bugs in the
ARM port that have always been present, rather than bugs introduced
porting to HS20.

I guess this port must never have cleanly passed jtreg.

Andrew.


2011-11-02  Andrew Haley  <aph at redhat.com>

        * openjdk-ecj/hotspot/src/cpu/zero/vm/thumb2.cpp (Thumb2_codegen):
        Sign extend byte loads in accessors.

diff -r 002673402c72 -r 6f61af32cc26 arm_port/hotspot/src/cpu/zero/vm/thumb2.cpp
--- a/arm_port/hotspot/src/cpu/zero/vm/thumb2.cpp       Tue Nov 01 13:40:39 2011 +0000
+++ b/arm_port/hotspot/src/cpu/zero/vm/thumb2.cpp       Wed Nov 02 16:20:25 2011 +0000
@@ -5848,7 +5848,7 @@
            r = JSTACK_REG(jstack);
            PUSH(jstack, r);
            if (tos_type == btos)
-             ldrb_imm(jinfo->codebuf, r, r_obj, field_offset, 1, 0);
+             ldrsb_imm(jinfo->codebuf, r, r_obj, field_offset, 1, 0);
            else if (tos_type == ctos)
              ldrh_imm(jinfo->codebuf, r, r_obj, field_offset, 1, 0);
            else if (tos_type == stos)
@@ -5970,7 +5970,7 @@
              r = JSTACK_REG(jstack);
              PUSH(jstack, r);
              if (tos_type == btos)
-               ldrb_imm(jinfo->codebuf, r, r_obj, field_offset, 1, 0);
+               ldrsb_imm(jinfo->codebuf, r, r_obj, field_offset, 1, 0);
              else if (tos_type == ctos)
                ldrh_imm(jinfo->codebuf, r, r_obj, field_offset, 1, 0);
              else if (tos_type == stos)




More information about the distro-pkg-dev mailing list