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

Move typeArrayOop.inline.hpp include to vectorSupport.cpp

    XMLWordPrintable

    Details

    • Type: Enhancement
    • Status: Resolved
    • Priority: P3
    • Resolution: Fixed
    • Affects Version/s: 16, 17, 18
    • Fix Version/s: 18
    • Component/s: hotspot
    • Labels:
    • Subcomponent:
    • Resolved In Build:
      b04

      Description

      In the loom repository, there is a following circular inclusion problem:

      * For target hotspot_variant-server_libjvm_objs_c2_MacroAssembler_x86.o:
      In file included from /home/shade/trunks/loom/src/hotspot/share/oops/instanceStackChunkKlass.inline.hpp:43,
                       from /home/shade/trunks/loom/src/hotspot/share/memory/iterator.inline.hpp:38,
                       from /home/shade/trunks/loom/src/hotspot/share/utilities/bitMap.inline.hpp:30,
                       from /home/shade/trunks/loom/src/hotspot/share/gc/shared/markBitMap.inline.hpp:33,
                       from /home/shade/trunks/loom/src/hotspot/share/gc/shenandoah/shenandoahHeap.inline.hpp:31,
                       from /home/shade/trunks/loom/src/hotspot/share/gc/shenandoah/shenandoahCollectionSet.inline.hpp:31,
                       from /home/shade/trunks/loom/src/hotspot/share/gc/shenandoah/shenandoahBarrierSet.inline.hpp:32,
                       from /home/shade/trunks/loom/src/hotspot/share/gc/shared/barrierSetConfig.inline.hpp:40,
                       from /home/shade/trunks/loom/src/hotspot/share/oops/access.inline.hpp:31,
                       from /home/shade/trunks/loom/src/hotspot/share/oops/typeArrayOop.inline.hpp:30,
                       from /home/shade/trunks/loom/src/hotspot/share/prims/vectorSupport.hpp:31,
                       from /home/shade/trunks/loom/src/hotspot/share/runtime/stubRoutines.hpp:32,
                       from /home/shade/trunks/loom/src/hotspot/cpu/x86/c2_MacroAssembler_x86.cpp:35:
      /home/shade/trunks/loom/src/hotspot/share/runtime/frame.inline.hpp: In member function 'bool frame::is_entry_frame() const':
      /home/buildbot/worker/build-jdkX-loom-linux/build/src/hotspot/share/runtime/frame.inline.hpp:47:10: error: 'StubRoutines' has not been declared

      We start from including stubRoutines.hpp, and circle back to it through with frame.inline.hpp includes. I believe this is mostly caused by vectorSupport.hpp including typeArrayOop.inline.hpp. It does seem excessive, when typeArrayOop.hpp would do. I think only .inline.hpp and .cpp files are supposed to reference .inline.hpp-s anyway.

        Attachments

          Issue Links

            Activity

              People

              Assignee:
              shade Aleksey Shipilev
              Reporter:
              shade Aleksey Shipilev
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

                Dates

                Created:
                Updated:
                Resolved: