< prev index next >

src/hotspot/share/code/exceptionHandlerTable.cpp

Print this page
rev 54763 : 8213084: Rework and enhance Print[Opto]Assembly output
Reviewed-by:

*** 1,7 **** /* ! * Copyright (c) 1998, 2016, 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) 1998, 2019, 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,196 **** return *(adr(i)+1); return 0; // Failed to find any execption offset } void ImplicitExceptionTable::print(address base) const { tty->print("{"); ! for( uint i=0; i<len(); i++ ) tty->print("< " INTPTR_FORMAT ", " INTPTR_FORMAT " > ", p2i(base + *adr(i)), p2i(base + *(adr(i)+1))); tty->print_cr("}"); } ImplicitExceptionTable::ImplicitExceptionTable(const nmethod* nm) { if (nm->nul_chk_table_size() == 0) { _len = 0; --- 183,210 ---- return *(adr(i)+1); return 0; // Failed to find any execption offset } void ImplicitExceptionTable::print(address base) const { + const uint n = len(); + if (n > 0) { + const uint items_per_line = 3; + uint i; + tty->print_cr("ImplicitExceptionTable (size = %d entries, %d bytes):", n, size_in_bytes()); tty->print("{"); ! for (i = 0; i < n; i++) { ! if (i%items_per_line == 0) { ! tty->cr(); ! tty->fill_to(3); ! } tty->print("< " INTPTR_FORMAT ", " INTPTR_FORMAT " > ", p2i(base + *adr(i)), p2i(base + *(adr(i)+1))); + } + tty->bol(); tty->print_cr("}"); + } else { + tty->print_cr("ImplicitExceptionTable is empty"); + } } ImplicitExceptionTable::ImplicitExceptionTable(const nmethod* nm) { if (nm->nul_chk_table_size() == 0) { _len = 0;
< prev index next >