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

Introduce and clean up umbrella headers for the files in the cpu subdirectories.

    XMLWordPrintable

Details

    • Enhancement
    • Resolution: Fixed
    • P4
    • 9
    • 9
    • hotspot
    • None
    • 9
    • b26

    Backports

      Description


        This change introduces umbrella headers for the files in the cpu subdirectories:

        src/share/vm/utilities/bytes.hpp
        src/share/vm/opto/ad.hpp
        src/share/vm/code/nativeInst.hpp
        src/share/vm/code/vmreg.inline.hpp
        src/share/vm/interpreter/interp_masm.hpp

        It also cleans up the include cascades for adGlobals*.hpp,
        jniTypes*.hpp, vm_version*.hpp and register*.hpp.

        Where possible, this change avoids includes in headers.
        Eventually it adds a forward declaration.

        vmreg_<cpu>.inline.hpp contains functions declared in register_cpu.hpp
        and vmreg.hpp, so there is no obvious mapping to the shared files.
        Still, I did not split the files in the cpu directories, as they are
        rather small.

        I didn't introduce a file for adGlobals_<cpu>.hpp, as adGlobals mainly
        contains machine dependent, c2 specific register information. So I
        think optoreg.hpp is a good header to place the adGlobals_<cpu>.hpp includes in,
        and then use optoreg.hpp where symbols from adGlobals are needed.

        I moved the constructor and destructor of CodeletMark to the .cpp
        file, I don't think this is performance relevant. But having them in
        the header requirs to pull interp_masm.hpp into interpreter.hpp, and
        thus all the assembler include headers into a lot of files.

        Attachments

          Issue Links

            Activity

              People

                goetz Goetz Lindenmaier
                goetz Goetz Lindenmaier
                Votes:
                0 Vote for this issue
                Watchers:
                2 Start watching this issue

                Dates

                  Created:
                  Updated:
                  Resolved: