src/share/vm/runtime/vmStructs.cpp

Print this page
rev 10065 : 8147844: new method j.l.Runtime.onSpinWait() and the corresponding x86 hotspot instrinsic
Summary: adds c1 & c2 x86 intrinsics for j.l.Runtime.onSpinWait() that utilize the 'pause' instruction
Contributed-by: ikrylov, ygaevsky
Reviewed-by: iveresov, vlivanov, kvn


1911   declare_c2_type(ConvD2INode, Node)                                      \
1912   declare_c2_type(ConvD2LNode, Node)                                      \
1913   declare_c2_type(ConvF2DNode, Node)                                      \
1914   declare_c2_type(ConvF2INode, Node)                                      \
1915   declare_c2_type(ConvF2LNode, Node)                                      \
1916   declare_c2_type(ConvI2DNode, Node)                                      \
1917   declare_c2_type(ConvI2FNode, Node)                                      \
1918   declare_c2_type(ConvI2LNode, TypeNode)                                  \
1919   declare_c2_type(ConvL2DNode, Node)                                      \
1920   declare_c2_type(ConvL2FNode, Node)                                      \
1921   declare_c2_type(ConvL2INode, Node)                                      \
1922   declare_c2_type(CastX2PNode, Node)                                      \
1923   declare_c2_type(CastP2XNode, Node)                                      \
1924   declare_c2_type(MemBarNode, MultiNode)                                  \
1925   declare_c2_type(MemBarAcquireNode, MemBarNode)                          \
1926   declare_c2_type(MemBarReleaseNode, MemBarNode)                          \
1927   declare_c2_type(LoadFenceNode, MemBarNode)                              \
1928   declare_c2_type(StoreFenceNode, MemBarNode)                             \
1929   declare_c2_type(MemBarVolatileNode, MemBarNode)                         \
1930   declare_c2_type(MemBarCPUOrderNode, MemBarNode)                         \

1931   declare_c2_type(InitializeNode, MemBarNode)                             \
1932   declare_c2_type(ThreadLocalNode, Node)                                  \
1933   declare_c2_type(Opaque1Node, Node)                                      \
1934   declare_c2_type(Opaque2Node, Node)                                      \
1935   declare_c2_type(PartialSubtypeCheckNode, Node)                          \
1936   declare_c2_type(MoveI2FNode, Node)                                      \
1937   declare_c2_type(MoveL2DNode, Node)                                      \
1938   declare_c2_type(MoveF2INode, Node)                                      \
1939   declare_c2_type(MoveD2LNode, Node)                                      \
1940   declare_c2_type(DivINode, Node)                                         \
1941   declare_c2_type(DivLNode, Node)                                         \
1942   declare_c2_type(DivFNode, Node)                                         \
1943   declare_c2_type(DivDNode, Node)                                         \
1944   declare_c2_type(ModINode, Node)                                         \
1945   declare_c2_type(ModLNode, Node)                                         \
1946   declare_c2_type(ModFNode, Node)                                         \
1947   declare_c2_type(ModDNode, Node)                                         \
1948   declare_c2_type(DivModNode, MultiNode)                                  \
1949   declare_c2_type(DivModINode, DivModNode)                                \
1950   declare_c2_type(DivModLNode, DivModNode)                                \




1911   declare_c2_type(ConvD2INode, Node)                                      \
1912   declare_c2_type(ConvD2LNode, Node)                                      \
1913   declare_c2_type(ConvF2DNode, Node)                                      \
1914   declare_c2_type(ConvF2INode, Node)                                      \
1915   declare_c2_type(ConvF2LNode, Node)                                      \
1916   declare_c2_type(ConvI2DNode, Node)                                      \
1917   declare_c2_type(ConvI2FNode, Node)                                      \
1918   declare_c2_type(ConvI2LNode, TypeNode)                                  \
1919   declare_c2_type(ConvL2DNode, Node)                                      \
1920   declare_c2_type(ConvL2FNode, Node)                                      \
1921   declare_c2_type(ConvL2INode, Node)                                      \
1922   declare_c2_type(CastX2PNode, Node)                                      \
1923   declare_c2_type(CastP2XNode, Node)                                      \
1924   declare_c2_type(MemBarNode, MultiNode)                                  \
1925   declare_c2_type(MemBarAcquireNode, MemBarNode)                          \
1926   declare_c2_type(MemBarReleaseNode, MemBarNode)                          \
1927   declare_c2_type(LoadFenceNode, MemBarNode)                              \
1928   declare_c2_type(StoreFenceNode, MemBarNode)                             \
1929   declare_c2_type(MemBarVolatileNode, MemBarNode)                         \
1930   declare_c2_type(MemBarCPUOrderNode, MemBarNode)                         \
1931   declare_c2_type(OnSpinWaitNode, MemBarNode)                             \
1932   declare_c2_type(InitializeNode, MemBarNode)                             \
1933   declare_c2_type(ThreadLocalNode, Node)                                  \
1934   declare_c2_type(Opaque1Node, Node)                                      \
1935   declare_c2_type(Opaque2Node, Node)                                      \
1936   declare_c2_type(PartialSubtypeCheckNode, Node)                          \
1937   declare_c2_type(MoveI2FNode, Node)                                      \
1938   declare_c2_type(MoveL2DNode, Node)                                      \
1939   declare_c2_type(MoveF2INode, Node)                                      \
1940   declare_c2_type(MoveD2LNode, Node)                                      \
1941   declare_c2_type(DivINode, Node)                                         \
1942   declare_c2_type(DivLNode, Node)                                         \
1943   declare_c2_type(DivFNode, Node)                                         \
1944   declare_c2_type(DivDNode, Node)                                         \
1945   declare_c2_type(ModINode, Node)                                         \
1946   declare_c2_type(ModLNode, Node)                                         \
1947   declare_c2_type(ModFNode, Node)                                         \
1948   declare_c2_type(ModDNode, Node)                                         \
1949   declare_c2_type(DivModNode, MultiNode)                                  \
1950   declare_c2_type(DivModINode, DivModNode)                                \
1951   declare_c2_type(DivModLNode, DivModNode)                                \