--- old/src/hotspot/share/code/compiledMethod.inline.hpp 2018-03-20 18:40:10.593266955 -0400 +++ new/src/hotspot/share/code/compiledMethod.inline.hpp 2018-03-20 18:40:09.831196235 -0400 @@ -29,6 +29,8 @@ #include "code/nativeInst.hpp" #include "runtime/frame.hpp" +inline bool CompiledMethod::is_deopt_pc(address pc) { return is_deopt_entry(pc) || is_deopt_mh_entry(pc); } + // When using JVMCI the address might be off by the size of a call instruction. inline bool CompiledMethod::is_deopt_entry(address pc) { return pc == deopt_handler_begin() @@ -64,6 +66,16 @@ inline int ExceptionCache::count() { return OrderAccess::load_acquire(&_count); } +address ExceptionCache::pc_at(int index) { + assert(index >= 0 && index < count(),""); + return _pc[index]; +} + +address ExceptionCache::handler_at(int index) { + assert(index >= 0 && index < count(),""); + return _handler[index]; +} + // increment_count is only called under lock, but there may be concurrent readers. inline void ExceptionCache::increment_count() { OrderAccess::release_store(&_count, _count + 1); }