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

delete redundant legacy entry point from hsdis API



    • Type: Bug
    • Status: In Progress
    • Priority: P4
    • Resolution: Unresolved
    • Affects Version/s: None
    • Fix Version/s: None
    • Component/s: hotspot
    • Labels:
    • Subcomponent:
    • Understanding:
      Fix Understood


      The hsdis plugin API has two entry points: A `decode_instructions` and
      B `decode_instructions_virtual`. The reason is historical: At first
      entry point A was the only one, but then we realized that some uses of
      hsdis needed to present a copy of the instructions to disassemble,
      instead of the actual original copy, at the installed virtual address.
      Thus, entry point B takes extra arguments, to give the nominal
      location of the buffered instructions.

      It would be good to remove A, which is trivially superseded by B.
      The support for A, in both the JVM and the plugin, is just noise
      in the source code.

      The effect of removing it from the JVM would be that certain very old
      plugins (made before 2009) will not operate correctly with modern
      JVMs. This is perfectly fine, since the X86 ISA has changed much
      since then. The effect of removing it from the plugin is that very
      old JVMs (before 2009) will have trouble using new versions of the
      plugin. Neither of these risks seems to be a problem, and users can
      work around them by aligning the plugin version with the JVM version.


          Issue Links

          There are no Sub-Tasks for this issue.



              dbuck David Buck
              jrose John Rose
              0 Vote for this issue
              5 Start watching this issue