7077806: ARM: java.lang.InternalError: bound subword value does not fit into the subword type

Wed, 14 Sep 2011 16:28:39 +0200

author
bdelsart
date
Wed, 14 Sep 2011 16:28:39 +0200
changeset 3142
393f4b789fd0
parent 3141
10ee2b297ccd
child 3143
35c656d0b685

7077806: ARM: java.lang.InternalError: bound subword value does not fit into the subword type
Summary: shared fix necessary for ARM/PPC
Reviewed-by: twisti, roland

src/share/vm/prims/methodHandles.hpp file | annotate | diff | comparison | revisions
     1.1 --- a/src/share/vm/prims/methodHandles.hpp	Wed Sep 14 10:40:13 2011 +0200
     1.2 +++ b/src/share/vm/prims/methodHandles.hpp	Wed Sep 14 16:28:39 2011 +0200
     1.3 @@ -515,11 +515,12 @@
     1.4    }
     1.5    // Here is the transformation the i2i adapter must perform:
     1.6    static int truncate_subword_from_vminfo(jint value, int vminfo) {
     1.7 -    jint tem = value << vminfo;
     1.8 +    int shift = vminfo & ~CONV_VMINFO_SIGN_FLAG;
     1.9 +    jint tem = value << shift;
    1.10      if ((vminfo & CONV_VMINFO_SIGN_FLAG) != 0) {
    1.11 -      return (jint)tem >> vminfo;
    1.12 +      return (jint)tem >> shift;
    1.13      } else {
    1.14 -      return (juint)tem >> vminfo;
    1.15 +      return (juint)tem >> shift;
    1.16      }
    1.17    }
    1.18  

mercurial