< prev index next >

src/hotspot/cpu/x86/templateInterpreterGenerator_x86.cpp

Print this page
rev 49948 : 8201593: Print array length in ArrayIndexOutOfBoundsException.
Reviewed-by: dholmes, mdoerr, smonteith

@@ -100,20 +100,20 @@
              CAST_FROM_FN_PTR(address,
                               InterpreterRuntime::throw_StackOverflowError));
   return entry;
 }
 
-address TemplateInterpreterGenerator::generate_ArrayIndexOutOfBounds_handler(
-        const char* name) {
+address TemplateInterpreterGenerator::generate_ArrayIndexOutOfBounds_handler() {
   address entry = __ pc();
-  // expression stack must be empty before entering the VM if an
-  // exception happened
+  // The expression stack must be empty before entering the VM if an
+  // exception happened.
   __ empty_expression_stack();
-  // setup parameters
-  // ??? convention: expect aberrant index in register ebx
+
+  // Setup parameters.
+  // ??? convention: expect aberrant index in register ebx/rbx.
+  // Pass array to create more detailed exceptions.
   Register rarg = NOT_LP64(rax) LP64_ONLY(c_rarg1);
-  __ lea(rarg, ExternalAddress((address)name));
   __ call_VM(noreg,
              CAST_FROM_FN_PTR(address,
                               InterpreterRuntime::
                               throw_ArrayIndexOutOfBoundsException),
              rarg, rbx);
< prev index next >