RFR (M): 8188224: Generalize Atomic::load/store to use templates
Michael Dardis
me at md-5.net
Fri Nov 10 21:30:05 UTC 2017
Hi Erik et al,
Since this commit I am having trouble building the project on 64 bit
Windows (though Linux works fine).
I was wondering whether anyone else has experienced this issue, or on the
contrary whether someone can report a success.
The revision immediately preceding this builds fine, but the current tip
does not.
I have copied the relevant error below - looks like a missing
implementation of 8 byte atomic store, but I cannot work the template magic
to figure out if it really is missing or something else is going on.
Thanks
Michael
c:\openjdk\OpenJDK\src\hotspot\share\runtime/orderAccess.inline.hpp(59):
error C2027: use of undefined type
'Atomic::StoreImpl<T,D,OrderAccess::PlatformOrderedStore<8,RELEASE_X>,void>'
with
[*** [lib/CompileGtest.gmk:67:
/cygdrive/c/openjdk/OpenJDK/build/windows-x86_64-normal-server-release/hotspot/variant-server/libjvm/gtest/objs/BUILD_GTEST_LIBJVM_pch.obj]
Error 1
T=ClassPathEntry *,
D=ClassPathEntry *
]
c:\openjdk\OpenJDK\src\hotspot\share\runtime/orderAccess.inline.hpp(59):
note: see declaration of
'Atomic::StoreImpl<T,D,OrderAccess::PlatformOrderedStore<8,RELEASE_X>,void>'
with [make/Main.gmk:268: hotspot-server-libs] Error 2
[*** Waiting for unfinished jobs....
T=ClassPathEntry *,
D=ClassPathEntry *
]
c:\openjdk\OpenJDK\src\hotspot\share\classfile/classLoader.hpp(55): note:
see reference to function template instantiation 'void
OrderAccess::release_store<ClassPathEntry*,ClassPathEntry*>(volatile D
*,T)' being compiled
with
[
D=ClassPathEntry *,
T=ClassPathEntry *
]
c:\openjdk\OpenJDK\src\hotspot\share\runtime/orderAccess.inline.hpp(59):
error C2027: use of undefined type
'Atomic::StoreImpl<T,D,OrderAccess::PlatformOrderedStore<8,RELEASE_X>,void>'
with
[
T=MethodData *,
D=MethodData *
]
c:\openjdk\OpenJDK\src\hotspot\share\runtime/orderAccess.inline.hpp(59):
note: see declaration of
'Atomic::StoreImpl<T,D,OrderAccess::PlatformOrderedStore<8,RELEASE_X>,void>'
with
[
T=MethodData *,
D=MethodData *
]
c:\openjdk\OpenJDK\src\hotspot\share\oops/method.hpp(340): note: see
reference to function template instantiation 'void
OrderAccess::release_store<MethodData*,MethodData*>(volatile D *,T)' being
compiled
with
[
D=MethodData *,
T=MethodData *
]
c:\openjdk\OpenJDK\src\hotspot\share\runtime/orderAccess.inline.hpp(59):
error C2027: use of undefined type
'Atomic::StoreImpl<T,D,OrderAccess::PlatformOrderedStore<8,RELEASE_X>,void>'
with
[
T=ExceptionCache *,
D=ExceptionCache *
]
c:\openjdk\OpenJDK\src\hotspot\share\runtime/orderAccess.inline.hpp(59):
note: see declaration of
'Atomic::StoreImpl<T,D,OrderAccess::PlatformOrderedStore<8,RELEASE_X>,void>'
with
[
T=ExceptionCache *,
D=ExceptionCache *
]
c:\openjdk\OpenJDK\src\hotspot\share\code/compiledMethod.hpp(291): note:
see reference to function template instantiation 'void
OrderAccess::release_store<ExceptionCache*,ExceptionCache*>(volatile D
*,T)' being compiled
with
[
D=ExceptionCache *,
T=ExceptionCache *
]
c:\openjdk\OpenJDK\src\hotspot\share\runtime/orderAccess.inline.hpp(59):
error C2027: use of undefined type
'Atomic::StoreImpl<T,D,OrderAccess::PlatformOrderedStore<8,RELEASE_X>,void>'
with
[
T=markOop,
D=markOop
]
c:\openjdk\OpenJDK\src\hotspot\share\runtime/orderAccess.inline.hpp(59):
note: see declaration of
'Atomic::StoreImpl<T,D,OrderAccess::PlatformOrderedStore<8,RELEASE_X>,void>'
with
[
T=markOop,
D=markOop
]
c:\openjdk\OpenJDK\src\hotspot\share\oops/oop.inline.hpp(93): note: see
reference to function template instantiation 'void
OrderAccess::release_store<markOop,markOop>(volatile D *,T)' being compiled
with
[
D=markOop,
T=markOop
]
c:\openjdk\OpenJDK\src\hotspot\share\runtime/orderAccess.inline.hpp(59):
error C2027: use of undefined type
'Atomic::StoreImpl<T,D,OrderAccess::PlatformOrderedStore<8,RELEASE_X>,void>'
with
[
T=Klass *,
D=Klass *
]
c:\openjdk\OpenJDK\src\hotspot\share\runtime/orderAccess.inline.hpp(59):
note: see declaration of
'Atomic::StoreImpl<T,D,OrderAccess::PlatformOrderedStore<8,RELEASE_X>,void>'
with
[
T=Klass *,
D=Klass *
]
c:\openjdk\OpenJDK\src\hotspot\share\oops/oop.inline.hpp(164): note: see
reference to function template instantiation 'void
OrderAccess::release_store<Klass*,Klass*>(volatile D *,T)' being compiled
with
[
D=Klass *,
T=Klass *
]
c:\openjdk\OpenJDK\src\hotspot\share\runtime/orderAccess.inline.hpp(59):
error C2027: use of undefined type
'Atomic::StoreImpl<T,D,OrderAccess::PlatformOrderedStore<8,RELEASE_X>,void>'
with
[
T=oop,
D=oop
]
c:\openjdk\OpenJDK\src\hotspot\share\runtime/orderAccess.inline.hpp(59):
note: see declaration of
'Atomic::StoreImpl<T,D,OrderAccess::PlatformOrderedStore<8,RELEASE_X>,void>'
with
[
T=oop,
D=oop
]
c:\openjdk\OpenJDK\src\hotspot\share\oops/oop.inline.hpp(364): note: see
reference to function template instantiation 'void
OrderAccess::release_store<oop,oop>(volatile D *,T)' being compiled
with
[
D=oop,
T=oop
]
c:\openjdk\OpenJDK\src\hotspot\share\runtime/orderAccess.inline.hpp(59):
error C2027: use of undefined type
'Atomic::StoreImpl<T,D,OrderAccess::PlatformOrderedStore<8,RELEASE_X>,void>'
with
[
T=Metadata *,
D=Metadata *
]
c:\openjdk\OpenJDK\src\hotspot\share\runtime/orderAccess.inline.hpp(59):
note: see declaration of
'Atomic::StoreImpl<T,D,OrderAccess::PlatformOrderedStore<8,RELEASE_X>,void>'
with
[
T=Metadata *,
D=Metadata *
]
c:\openjdk\OpenJDK\src\hotspot\share\oops/oop.inline.hpp(454): note: see
reference to function template instantiation 'void
OrderAccess::release_store<Metadata*,Metadata*>(volatile D *,T)' being
compiled
with
[
D=Metadata *,
T=Metadata *
]
c:\openjdk\OpenJDK\src\hotspot\share\runtime/orderAccess.inline.hpp(59):
error C2027: use of undefined type
'Atomic::StoreImpl<T,D,OrderAccess::PlatformOrderedStore<8,RELEASE_X>,void>'
with
[
T=address,
D=address
]
c:\openjdk\OpenJDK\src\hotspot\share\runtime/orderAccess.inline.hpp(59):
note: see declaration of
'Atomic::StoreImpl<T,D,OrderAccess::PlatformOrderedStore<8,RELEASE_X>,void>'
with
[
T=address,
D=address
]
c:\openjdk\OpenJDK\src\hotspot\share\oops/oop.inline.hpp(522): note: see
reference to function template instantiation 'void
OrderAccess::release_store<address,address>(volatile D *,T)' being compiled
with
[
D=address,
T=address
]
More information about the hotspot-dev
mailing list