Trouble finding the definition for class BarrierSet

Roman Kennke rkennke at
Mon Jun 4 21:14:34 UTC 2018

Am 04.06.2018 um 22:24 schrieb John Paul Adrian Glaubitz:
> On 06/04/2018 10:18 PM, Erik Österlund wrote:
>>> On 06/04/2018 09:47 PM, Erik Österlund wrote:
>>>> Can't you just #include "gc/shared/barrierSet.hpp" in library_call.cpp?
>>> Hmm. Let me try. But why would it be necessary on linux-sparc and not
>>> anywhere else?
>> Not sure. But regardless of the case, that include should be in there anyway.
> That fixes it. However, I then get:
> /srv/openjdk/jdk/src/hotspot/share/opto/macroArrayCopy.cpp: In member function ‘Node* PhaseMacroExpand::generate_arraycopy(ArrayCopyNode*, AllocateArrayNode*,
> Node**, MergeMemNode*, Node**, const TypePtr*, BasicType, Node*, Node*, Node*, Node*, Node*, bool, bool, RegionNode*)’:
> /srv/openjdk/jdk/src/hotspot/share/opto/macroArrayCopy.cpp:553:36: error: incomplete type ‘BarrierSet’ used in nested name specifier
>      BarrierSetC2* bs = BarrierSet::barrier_set()->barrier_set_c2();
>                                     ^~~~~~~~~~~
> I really wonder where the other architectures are getting it from.
> There must be one feature/header etc that the other architectures are
> including but that's being used on linux-sparc. But I cannot figure out what
> we're missing.

precompiled headers maybe?

If it's used in that .cpp file, include it in that .cpp file.


More information about the hotspot-dev mailing list