inline static bool checkICMiss(sigcontext* uc, address* pc, address* stub) { #ifdef COMPILER2 if (nativeInstruction_at(*pc)->is_ic_miss_trap()) { #ifdef ASSERT #ifdef TIERED CodeBlob* cb = CodeCache::find_blob_unsafe(pc); assert(cb->is_compiled_by_c2(), "Wrong compiler"); #endif // TIERED #endif // ASSERT // Inline cache missed and user trap "Tne G0+ST_RESERVED_FOR_USER_0+2" taken. *stub = SharedRuntime::get_ic_miss_stub(); // At the stub it needs to look like a call from the caller of this // method (not a call from the segv site). *pc = (address)SIG_REGS(uc).u_regs[CON_O7]; return true; } #endif // COMPILER2 return false; }