当前位置: 首页>>代码示例>>C++>>正文


C++ methodHandle::backedge_counter方法代码示例

本文整理汇总了C++中methodHandle::backedge_counter方法的典型用法代码示例。如果您正苦于以下问题:C++ methodHandle::backedge_counter方法的具体用法?C++ methodHandle::backedge_counter怎么用?C++ methodHandle::backedge_counter使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在methodHandle的用法示例。


在下文中一共展示了methodHandle::backedge_counter方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: trace_frequency_counter_overflow

void NonTieredCompPolicy::trace_frequency_counter_overflow(methodHandle m, int branch_bci, int bci) {
    if (TraceInvocationCounterOverflow) {
        InvocationCounter* ic = m->invocation_counter();
        InvocationCounter* bc = m->backedge_counter();
        ResourceMark rm;
        const char* msg =
            bci == InvocationEntryBci
            ? "comp-policy cntr ovfl @ %d in entry of "
            : "comp-policy cntr ovfl @ %d in loop of ";
        tty->print(msg, bci);
        m->print_value();
        tty->cr();
        ic->print();
        bc->print();
        if (ProfileInterpreter) {
            if (bci != InvocationEntryBci) {
                methodDataOop mdo = m->method_data();
                if (mdo != NULL) {
                    int count = mdo->bci_to_data(branch_bci)->as_JumpData()->taken();
                    tty->print_cr("back branch count = %d", count);
                }
            }
        }
    }
}
开发者ID:AllenWeb,项目名称:jdk7u-hotspot,代码行数:25,代码来源:compilationPolicy.cpp

示例2: reset_counter_for_invocation_event

void NonTieredCompPolicy::reset_counter_for_invocation_event(methodHandle m) {
    // Make sure invocation and backedge counter doesn't overflow again right away
    // as would be the case for native methods.

    // BUT also make sure the method doesn't look like it was never executed.
    // Set carry bit and reduce counter's value to min(count, CompileThreshold/2).
    m->invocation_counter()->set_carry();
    m->backedge_counter()->set_carry();

    assert(!m->was_never_executed(), "don't reset to 0 -- could be mistaken for never-executed");
}
开发者ID:AllenWeb,项目名称:jdk7u-hotspot,代码行数:11,代码来源:compilationPolicy.cpp

示例3: reset_counter_for_back_branch_event

void NonTieredCompPolicy::reset_counter_for_back_branch_event(methodHandle m) {
    // Delay next back-branch event but pump up invocation counter to triger
    // whole method compilation.
    InvocationCounter* i = m->invocation_counter();
    InvocationCounter* b = m->backedge_counter();

    // Don't set invocation_counter's value too low otherwise the method will
    // look like immature (ic < ~5300) which prevents the inlining based on
    // the type profiling.
    i->set(i->state(), CompileThreshold);
    // Don't reset counter too low - it is used to check if OSR method is ready.
    b->set(b->state(), CompileThreshold / 2);
}
开发者ID:AllenWeb,项目名称:jdk7u-hotspot,代码行数:13,代码来源:compilationPolicy.cpp


注:本文中的methodHandle::backedge_counter方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。