本文整理汇总了C++中CodeBlob::is_c2i_adapter方法的典型用法代码示例。如果您正苦于以下问题:C++ CodeBlob::is_c2i_adapter方法的具体用法?C++ CodeBlob::is_c2i_adapter怎么用?C++ CodeBlob::is_c2i_adapter使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类CodeBlob
的用法示例。
在下文中一共展示了CodeBlob::is_c2i_adapter方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: is_call_to_interpreted
bool CompiledIC::is_call_to_interpreted() const {
assert (CompiledIC_lock->is_locked() || SafepointSynchronize::is_at_safepoint(), "");
// Call to interpreter if destination is either calling to a stub (if it
// is optimized), or calling to an I2C
bool is_call_to_interpreted = false;
#ifdef COMPILER1
if (!is_optimized()) {
is_call_to_interpreted =
Runtime1::blob_for(Runtime1::interpreter_entries_id)->contains(ic_destination());
} else {
// Check if we are calling into our own codeblob (i.e., to a stub)
CodeBlob* cb = CodeCache::find_blob(_ic_call->instruction_address());
is_call_to_interpreted = cb->contains(ic_destination());
}
#else
if (!is_optimized()) {
CodeBlob* cb = CodeCache::find_blob(ic_destination());
is_call_to_interpreted = (cb != NULL && cb->is_c2i_adapter());
} else {
// Check if we are calling into our own codeblob (i.e., to a stub)
CodeBlob* cb = CodeCache::find_blob(_ic_call->instruction_address());
is_call_to_interpreted = cb->contains(ic_destination());
}
#endif // COMPILER1
assert(!is_call_to_interpreted || is_optimized() || (cached_oop() != NULL && cached_oop()->is_compiledICHolder()), "sanity check");
return is_call_to_interpreted;
}