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

Move typeArrayOop.inline.hpp include to vectorSupport.cpp

XMLWordPrintable

    • Icon: Enhancement Enhancement
    • Resolution: Fixed
    • Icon: P3 P3
    • 18
    • 16, 17, 18
    • hotspot
    • b04

      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.

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

              Created:
              Updated:
              Resolved: