Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-8043061

Tiered: MethodCounters should be present for methods enqueued for compilation

    Details

    • Type: Enhancement
    • Status: Closed
    • Priority: P4
    • Resolution: Duplicate
    • Affects Version/s: 9
    • Fix Version/s: None
    • Component/s: hotspot
    • Labels:
      None

      Description

      Vladimir Kozlov wrote:
      >>> The update_rate() could be not called if there are no MethodCounters
      >>> (other places may need to be fixed for that). Actually I don't
      >>> understand how we have compilation request for a method without
      >>> MethodCounters. Counters should be created before that.
      >> It's not always the case. MDO can be created first (e.g. compilation can
      >> force MDO creation [1]) and there's no need in MethodCounters (see
      >> InterpreterGenerator::generate_counter_incr [2]).
      >
      > I think this is contradiction in tiered implementation. We don't
      > allocate MethodCounters for TieredCompilation as you pointed but tiered
      > code uses them.

      [1]
      Method::build_interpreter_method_data(methodHandle, Thread*)
      ciMethod::ensure_method_data(methodHandle)
      ciMethod::ensure_method_data()
      GraphBuilder::try_inline_full(ciMethod*, bool, Bytecodes::Code, Instruction*)

      [2] http://hg.openjdk.java.net/jdk9/hs-comp/hotspot/file/tip/src/cpu/x86/vm/templateInterpreter_x86_32.cpp#l340

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                Unassigned
                Reporter:
                vlivanov Vladimir Ivanov
              • Votes:
                0 Vote for this issue
                Watchers:
                1 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: