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

Make TraceDeoptimization a diagnostic flag

    XMLWordPrintable

Details

    • b27

    Description

      Many times I wish I had TraceDeoptimization available in a product build just to find it's a develop flag. In general, deoptimization is a very expensive operation so the overhead of an additional check is negligible.

      Although there is one place where it could matter:

      StackValueCollection* interpretedVFrame::stack_data(bool expressions) const {

        InterpreterOopMap oop_mask;
        // oopmap for current bci
        if ((TraceDeoptimization && Verbose) JVMCI_ONLY( || PrintDeoptimizationDetails)) {
          methodHandle m_h(Thread::current(), method());
          OopMapCache::compute_one_oop_map(m_h, bci(), &oop_mask);
        } else {
          method()->mask_for(bci(), &oop_mask);
        }

      This method is used by various stack walking code in the VM and it might affect performance. Doing performance evaluation should give us an answer.

      Attachments

        Issue Links

          Activity

            People

              tholenstein Tobias Holenstein
              twisti Christian Thalinger
              Votes:
              6 Vote for this issue
              Watchers:
              8 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: