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

Make TraceDeoptimization a diagnostic flag

    Details

      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

          Activity

            People

            • Assignee:
              Unassigned
              Reporter:
              twisti Christian Thalinger
            • Votes:
              1 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

              • Created:
                Updated: