2362N/A * or visit www.oracle.com if you need additional information or have any
1405N/A#include "precompiled.hpp"
1405N/A#include "code/exceptionHandlerTable.hpp"
1405N/A#include "code/nmethod.hpp"
1405N/A#include "memory/allocation.inline.hpp"
1405N/A guarantee(_size > 0, "no space allocated => cannot grow the table since it is part of nmethod");
1405N/A assert(handler_bcis->length() == handler_pcos->length(), "bci & pc table have different length");
1405N/A assert(scope_depths_from_top_scope == NULL || handler_bcis->length() == scope_depths_from_top_scope->length(), "bci & scope_depths table have different length");
1405N/A assert(entry_for(catch_pco, handler_bcis->at(i), scope_depth)->pco() == handler_pcos->at(i), "entry not added correctly (1)");
1405N/A assert(entry_for(catch_pco, handler_bcis->at(i), scope_depth)->scope_depth() == scope_depth, "entry not added correctly (2)");
1405N/A assert(size_in_bytes() == nm->handler_table_size(), "size of space allocated in nmethod incorrect");
1405N/AHandlerTableEntry* ExceptionHandlerTable::entry_for(int catch_pco, int handler_bci, int scope_depth) const {
_len = 0;
if (l == _size) {
for( uint i=0; i<l; i++ )
_len = 0;
_data++;
assert(size_in_bytes() <= nm->nul_chk_table_size(), "size of space allocated in nmethod incorrect");
assert(size_in_bytes() <= nm->nul_chk_table_size(), "size of space allocated in nmethod incorrect");
if (len() != 0) {
nmdata++;