Merge
authorkvn
Wed, 21 Dec 2016 17:27:25 +0000
changeset 42913 83423be5b483
parent 42911 7f9cad2b64bc (current diff)
parent 42912 2e9f2cc24de3 (diff)
child 42914 c80e97a97360
child 43403 9a09e7b9f0e1
Merge
--- a/hotspot/src/cpu/arm/vm/sharedRuntime_arm.cpp	Tue Dec 20 15:49:30 2016 -0500
+++ b/hotspot/src/cpu/arm/vm/sharedRuntime_arm.cpp	Wed Dec 21 17:27:25 2016 +0000
@@ -453,7 +453,7 @@
       }
       break;
     case T_LONG:
-      assert(sig_bt[i+1] == T_VOID, "missing Half" );
+      assert((i + 1) < total_args_passed && sig_bt[i+1] == T_VOID, "missing Half" );
       // fall through
     case T_ARRAY:
     case T_OBJECT:
@@ -478,7 +478,7 @@
       }
       break;
     case T_DOUBLE:
-      assert(sig_bt[i+1] == T_VOID, "missing Half" );
+      assert((i + 1) < total_args_passed && sig_bt[i+1] == T_VOID, "missing Half" );
       if (fp_reg < FPR_PARAMS) {
         FloatRegister r = as_FloatRegister(fp_reg);
         regs[i].set2(r->as_VMReg());
@@ -532,7 +532,7 @@
 #ifndef __ABI_HARD__
     case T_DOUBLE:
 #endif // !__ABI_HARD__
-      assert(sig_bt[i+1] == T_VOID, "missing Half" );
+      assert((i + 1) < total_args_passed && sig_bt[i+1] == T_VOID, "missing Half" );
       if (ireg <= 2) {
 #if (ALIGN_WIDE_ARGUMENTS == 1)
         if(ireg & 1) ireg++;  // Aligned location required