< prev index next >
src/hotspot/cpu/arm/templateInterpreterGenerator_arm.cpp
Print this page
rev 49869 : 8201593: Print array length in ArrayIndexOutOfBoundsException.
Reviewed-by: dholmes
*** 1,7 ****
/*
! * Copyright (c) 2008, 2017, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation.
--- 1,7 ----
/*
! * Copyright (c) 2008, 2018, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation.
*** 183,204 ****
__ should_not_reach_here();
return entry;
}
! address TemplateInterpreterGenerator::generate_ArrayIndexOutOfBounds_handler(const char* name) {
address entry = __ pc();
// index is in R4_ArrayIndexOutOfBounds_index
- InlinedString Lname(name);
-
// expression stack must be empty before entering the VM if an exception happened
__ empty_expression_stack();
// setup parameters
! __ ldr_literal(R1, Lname);
__ mov(R2, R4_ArrayIndexOutOfBounds_index);
__ call_VM(noreg, CAST_FROM_FN_PTR(address, InterpreterRuntime::throw_ArrayIndexOutOfBoundsException), R1, R2);
__ nop(); // to avoid filling CPU pipeline with invalid instructions
--- 183,202 ----
__ should_not_reach_here();
return entry;
}
! address TemplateInterpreterGenerator::generate_ArrayIndexOutOfBounds_handler() {
address entry = __ pc();
// index is in R4_ArrayIndexOutOfBounds_index
// expression stack must be empty before entering the VM if an exception happened
__ empty_expression_stack();
// setup parameters
! // Array expected in R1.
__ mov(R2, R4_ArrayIndexOutOfBounds_index);
__ call_VM(noreg, CAST_FROM_FN_PTR(address, InterpreterRuntime::throw_ArrayIndexOutOfBoundsException), R1, R2);
__ nop(); // to avoid filling CPU pipeline with invalid instructions
< prev index next >