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

Tiered: MethodCounters should be present for methods enqueued for compilation

XMLWordPrintable

    • Icon: Enhancement Enhancement
    • Resolution: Duplicate
    • Icon: P4 P4
    • None
    • 9
    • hotspot
    • None

      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

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

              Created:
              Updated:
              Resolved: