comparison src/share/vm/prims/methodHandles.hpp @ 3943:393f4b789fd0

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
author bdelsart
date Wed, 14 Sep 2011 16:28:39 +0200
parents c26de9aef2ed
children 15d394228cfa
comparison
equal deleted inserted replaced
3942:10ee2b297ccd 3943:393f4b789fd0
513 if (dest == T_SHORT) return (BitsPerInt - BitsPerShort) | CONV_VMINFO_SIGN_FLAG; 513 if (dest == T_SHORT) return (BitsPerInt - BitsPerShort) | CONV_VMINFO_SIGN_FLAG;
514 return 0; // case T_INT 514 return 0; // case T_INT
515 } 515 }
516 // Here is the transformation the i2i adapter must perform: 516 // Here is the transformation the i2i adapter must perform:
517 static int truncate_subword_from_vminfo(jint value, int vminfo) { 517 static int truncate_subword_from_vminfo(jint value, int vminfo) {
518 jint tem = value << vminfo; 518 int shift = vminfo & ~CONV_VMINFO_SIGN_FLAG;
519 jint tem = value << shift;
519 if ((vminfo & CONV_VMINFO_SIGN_FLAG) != 0) { 520 if ((vminfo & CONV_VMINFO_SIGN_FLAG) != 0) {
520 return (jint)tem >> vminfo; 521 return (jint)tem >> shift;
521 } else { 522 } else {
522 return (juint)tem >> vminfo; 523 return (juint)tem >> shift;
523 } 524 }
524 } 525 }
525 526
526 static inline address from_compiled_entry(EntryKind ek); 527 static inline address from_compiled_entry(EntryKind ek);
527 static inline address from_interpreted_entry(EntryKind ek); 528 static inline address from_interpreted_entry(EntryKind ek);