< prev index next >

src/hotspot/cpu/arm/templateInterpreterGenerator_arm.cpp

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

*** 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 >