src/hotspot/cpu/x86/templateTable_x86.cpp
changeset 50094 2f79462aab9b
parent 49987 e4b3cc56e2b2
child 50106 24151f48582b
--- a/src/hotspot/cpu/x86/templateTable_x86.cpp	Sat May 12 17:22:56 2018 +0530
+++ b/src/hotspot/cpu/x86/templateTable_x86.cpp	Mon May 07 09:11:21 2018 +0200
@@ -757,11 +757,14 @@
     assert(rbx != array, "different registers");
     __ movl(rbx, index);
   }
-  __ jump_cc(Assembler::aboveEqual,
-             ExternalAddress(Interpreter::_throw_ArrayIndexOutOfBoundsException_entry));
+  Label skip;
+  __ jccb(Assembler::below, skip);
+  // Pass array to create more detailed exceptions.
+  __ mov(NOT_LP64(rax) LP64_ONLY(c_rarg1), array);
+  __ jump(ExternalAddress(Interpreter::_throw_ArrayIndexOutOfBoundsException_entry));
+  __ bind(skip);
 }
 
-
 void TemplateTable::iaload() {
   transition(itos, itos);
   // rax: index