RFR (M): 8188224: Generalize Atomic::load/store to use templates

David Holmes david.holmes at oracle.com
Sat Nov 11 00:02:47 UTC 2017


Hi Michael,

On 11/11/2017 7:30 AM, Michael Dardis wrote:
> 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.

We have no problems building on any of our supported platforms. :)

What version of Visual Studio are you using? The supported build version 
is still VS2013-SP4 [1]

David

[1] https://wiki.openjdk.java.net/display/Build/Supported+Build+Platforms

> 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