< prev index next >

src/share/vm/code/compiledIC.cpp

Print this page

        

*** 285,294 **** --- 285,295 ---- CodeBlob* caller = CodeCache::find_blob_unsafe(instruction_address()); bool is_c1_method = caller->is_compiled_by_c1(); assert( is_c1_method || !is_monomorphic || is_optimized() || + !caller->is_alive() || (cached_metadata() != NULL && cached_metadata()->is_klass()), "sanity check"); #endif // ASSERT return is_monomorphic; }
*** 319,329 **** } return is_call_to_interpreted; } ! void CompiledIC::set_to_clean() { assert(SafepointSynchronize::is_at_safepoint() || CompiledIC_lock->is_locked() , "MT-unsafe call"); if (TraceInlineCacheClearing || TraceICs) { tty->print_cr("IC@" INTPTR_FORMAT ": set to clean", p2i(instruction_address())); print(); } --- 320,330 ---- } return is_call_to_interpreted; } ! void CompiledIC::set_to_clean(bool in_use) { assert(SafepointSynchronize::is_at_safepoint() || CompiledIC_lock->is_locked() , "MT-unsafe call"); if (TraceInlineCacheClearing || TraceICs) { tty->print_cr("IC@" INTPTR_FORMAT ": set to clean", p2i(instruction_address())); print(); }
*** 335,345 **** entry = SharedRuntime::get_resolve_virtual_call_stub(); } // A zombie transition will always be safe, since the metadata has already been set to NULL, so // we only need to patch the destination ! bool safe_transition = is_optimized() || SafepointSynchronize::is_at_safepoint(); if (safe_transition) { // Kill any leftover stub we might have too clear_ic_stub(); if (is_optimized()) { --- 336,346 ---- entry = SharedRuntime::get_resolve_virtual_call_stub(); } // A zombie transition will always be safe, since the metadata has already been set to NULL, so // we only need to patch the destination ! bool safe_transition = !in_use || is_optimized() || SafepointSynchronize::is_at_safepoint(); if (safe_transition) { // Kill any leftover stub we might have too clear_ic_stub(); if (is_optimized()) {
< prev index next >