Mercurial > hg > truffle
comparison src/share/vm/runtime/vmStructs.cpp @ 14518:d8041d695d19
Merged with jdk9/dev/hotspot changeset 3812c088b945
author | twisti |
---|---|
date | Tue, 11 Mar 2014 18:45:59 -0700 |
parents | 800057208a2c 1077c8270209 |
children | b51e29501f30 |
comparison
equal
deleted
inserted
replaced
14141:f97c5ec83832 | 14518:d8041d695d19 |
---|---|
1 /* | 1 /* |
2 * Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved. | 2 * Copyright (c) 2000, 2014, Oracle and/or its affiliates. All rights reserved. |
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. | 3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. |
4 * | 4 * |
5 * This code is free software; you can redistribute it and/or modify it | 5 * This code is free software; you can redistribute it and/or modify it |
6 * under the terms of the GNU General Public License version 2 only, as | 6 * under the terms of the GNU General Public License version 2 only, as |
7 * published by the Free Software Foundation. | 7 * published by the Free Software Foundation. |
143 # include "vmStructs_linux_arm.hpp" | 143 # include "vmStructs_linux_arm.hpp" |
144 #endif | 144 #endif |
145 #ifdef TARGET_OS_ARCH_linux_ppc | 145 #ifdef TARGET_OS_ARCH_linux_ppc |
146 # include "vmStructs_linux_ppc.hpp" | 146 # include "vmStructs_linux_ppc.hpp" |
147 #endif | 147 #endif |
148 #ifdef TARGET_OS_ARCH_aix_ppc | |
149 # include "vmStructs_aix_ppc.hpp" | |
150 #endif | |
148 #ifdef TARGET_OS_ARCH_bsd_x86 | 151 #ifdef TARGET_OS_ARCH_bsd_x86 |
149 # include "vmStructs_bsd_x86.hpp" | 152 # include "vmStructs_bsd_x86.hpp" |
150 #endif | 153 #endif |
151 #ifdef TARGET_OS_ARCH_bsd_zero | 154 #ifdef TARGET_OS_ARCH_bsd_zero |
152 # include "vmStructs_bsd_zero.hpp" | 155 # include "vmStructs_bsd_zero.hpp" |
199 # include "adfiles/adGlobals_zero.hpp" | 202 # include "adfiles/adGlobals_zero.hpp" |
200 #endif | 203 #endif |
201 #ifdef TARGET_ARCH_MODEL_arm | 204 #ifdef TARGET_ARCH_MODEL_arm |
202 # include "adfiles/adGlobals_arm.hpp" | 205 # include "adfiles/adGlobals_arm.hpp" |
203 #endif | 206 #endif |
204 #ifdef TARGET_ARCH_MODEL_ppc | 207 #ifdef TARGET_ARCH_MODEL_ppc_32 |
205 # include "adfiles/adGlobals_ppc.hpp" | 208 # include "adfiles/adGlobals_ppc_32.hpp" |
206 #endif | 209 #endif |
210 #ifdef TARGET_ARCH_MODEL_ppc_64 | |
211 # include "adfiles/adGlobals_ppc_64.hpp" | |
207 #endif | 212 #endif |
213 #endif // COMPILER2 | |
208 | 214 |
209 // Note: the cross-product of (c1, c2, product, nonproduct, ...), | 215 // Note: the cross-product of (c1, c2, product, nonproduct, ...), |
210 // (nonstatic, static), and (unchecked, checked) has not been taken. | 216 // (nonstatic, static), and (unchecked, checked) has not been taken. |
211 // Only the macros currently needed have been defined. | 217 // Only the macros currently needed have been defined. |
212 | 218 |
243 typedef Hashtable<oop, mtSymbol> StringHashtable; | 249 typedef Hashtable<oop, mtSymbol> StringHashtable; |
244 typedef TwoOopHashtable<Klass*, mtClass> KlassTwoOopHashtable; | 250 typedef TwoOopHashtable<Klass*, mtClass> KlassTwoOopHashtable; |
245 typedef Hashtable<Klass*, mtClass> KlassHashtable; | 251 typedef Hashtable<Klass*, mtClass> KlassHashtable; |
246 typedef HashtableEntry<Klass*, mtClass> KlassHashtableEntry; | 252 typedef HashtableEntry<Klass*, mtClass> KlassHashtableEntry; |
247 typedef TwoOopHashtable<Symbol*, mtClass> SymbolTwoOopHashtable; | 253 typedef TwoOopHashtable<Symbol*, mtClass> SymbolTwoOopHashtable; |
248 typedef BinaryTreeDictionary<Metablock, FreeList> MetablockTreeDictionary; | |
249 | 254 |
250 //-------------------------------------------------------------------------------- | 255 //-------------------------------------------------------------------------------- |
251 // VM_STRUCTS | 256 // VM_STRUCTS |
252 // | 257 // |
253 // This list enumerates all of the fields the serviceability agent | 258 // This list enumerates all of the fields the serviceability agent |
1212 c2_nonstatic_field(Block, _succs, Block_Array) \ | 1217 c2_nonstatic_field(Block, _succs, Block_Array) \ |
1213 c2_nonstatic_field(Block, _num_succs, uint) \ | 1218 c2_nonstatic_field(Block, _num_succs, uint) \ |
1214 c2_nonstatic_field(Block, _pre_order, uint) \ | 1219 c2_nonstatic_field(Block, _pre_order, uint) \ |
1215 c2_nonstatic_field(Block, _dom_depth, uint) \ | 1220 c2_nonstatic_field(Block, _dom_depth, uint) \ |
1216 c2_nonstatic_field(Block, _idom, Block*) \ | 1221 c2_nonstatic_field(Block, _idom, Block*) \ |
1217 c2_nonstatic_field(Block, _freq, jfloat) \ | 1222 c2_nonstatic_field(Block, _freq, jdouble) \ |
1218 \ | 1223 \ |
1219 c2_nonstatic_field(CFGElement, _freq, jfloat) \ | 1224 c2_nonstatic_field(CFGElement, _freq, jdouble) \ |
1220 \ | 1225 \ |
1221 c2_nonstatic_field(Block_List, _cnt, uint) \ | 1226 c2_nonstatic_field(Block_List, _cnt, uint) \ |
1222 \ | 1227 \ |
1223 c2_nonstatic_field(Block_Array, _size, uint) \ | 1228 c2_nonstatic_field(Block_Array, _size, uint) \ |
1224 c2_nonstatic_field(Block_Array, _blocks, Block**) \ | 1229 c2_nonstatic_field(Block_Array, _blocks, Block**) \ |
1322 nonstatic_field(elapsedTimer, _active, bool) \ | 1327 nonstatic_field(elapsedTimer, _active, bool) \ |
1323 nonstatic_field(InvocationCounter, _counter, unsigned int) \ | 1328 nonstatic_field(InvocationCounter, _counter, unsigned int) \ |
1324 volatile_nonstatic_field(FreeChunk, _size, size_t) \ | 1329 volatile_nonstatic_field(FreeChunk, _size, size_t) \ |
1325 nonstatic_field(FreeChunk, _next, FreeChunk*) \ | 1330 nonstatic_field(FreeChunk, _next, FreeChunk*) \ |
1326 nonstatic_field(FreeChunk, _prev, FreeChunk*) \ | 1331 nonstatic_field(FreeChunk, _prev, FreeChunk*) \ |
1327 nonstatic_field(FreeList<FreeChunk>, _size, size_t) \ | 1332 nonstatic_field(AdaptiveFreeList<FreeChunk>, _size, size_t) \ |
1328 nonstatic_field(FreeList<Metablock>, _size, size_t) \ | 1333 nonstatic_field(AdaptiveFreeList<FreeChunk>, _count, ssize_t) |
1329 nonstatic_field(FreeList<FreeChunk>, _count, ssize_t) \ | |
1330 nonstatic_field(FreeList<Metablock>, _count, ssize_t) \ | |
1331 nonstatic_field(MetablockTreeDictionary, _total_size, size_t) | |
1332 | 1334 |
1333 //-------------------------------------------------------------------------------- | 1335 //-------------------------------------------------------------------------------- |
1334 // VM_TYPES | 1336 // VM_TYPES |
1335 // | 1337 // |
1336 // This list must enumerate at least all of the types in the above | 1338 // This list must enumerate at least all of the types in the above |
1855 declare_c2_type(CastX2PNode, Node) \ | 1857 declare_c2_type(CastX2PNode, Node) \ |
1856 declare_c2_type(CastP2XNode, Node) \ | 1858 declare_c2_type(CastP2XNode, Node) \ |
1857 declare_c2_type(MemBarNode, MultiNode) \ | 1859 declare_c2_type(MemBarNode, MultiNode) \ |
1858 declare_c2_type(MemBarAcquireNode, MemBarNode) \ | 1860 declare_c2_type(MemBarAcquireNode, MemBarNode) \ |
1859 declare_c2_type(MemBarReleaseNode, MemBarNode) \ | 1861 declare_c2_type(MemBarReleaseNode, MemBarNode) \ |
1862 declare_c2_type(LoadFenceNode, MemBarNode) \ | |
1863 declare_c2_type(StoreFenceNode, MemBarNode) \ | |
1860 declare_c2_type(MemBarVolatileNode, MemBarNode) \ | 1864 declare_c2_type(MemBarVolatileNode, MemBarNode) \ |
1861 declare_c2_type(MemBarCPUOrderNode, MemBarNode) \ | 1865 declare_c2_type(MemBarCPUOrderNode, MemBarNode) \ |
1862 declare_c2_type(InitializeNode, MemBarNode) \ | 1866 declare_c2_type(InitializeNode, MemBarNode) \ |
1863 declare_c2_type(ThreadLocalNode, Node) \ | 1867 declare_c2_type(ThreadLocalNode, Node) \ |
1864 declare_c2_type(Opaque1Node, Node) \ | 1868 declare_c2_type(Opaque1Node, Node) \ |
1979 declare_c2_type(CmpL3Node, CmpLNode) \ | 1983 declare_c2_type(CmpL3Node, CmpLNode) \ |
1980 declare_c2_type(CmpFNode, CmpNode) \ | 1984 declare_c2_type(CmpFNode, CmpNode) \ |
1981 declare_c2_type(CmpF3Node, CmpFNode) \ | 1985 declare_c2_type(CmpF3Node, CmpFNode) \ |
1982 declare_c2_type(CmpDNode, CmpNode) \ | 1986 declare_c2_type(CmpDNode, CmpNode) \ |
1983 declare_c2_type(CmpD3Node, CmpDNode) \ | 1987 declare_c2_type(CmpD3Node, CmpDNode) \ |
1984 declare_c2_type(MathExactNode, MultiNode) \ | |
1985 declare_c2_type(MathExactINode, MathExactNode) \ | |
1986 declare_c2_type(AddExactINode, MathExactINode) \ | |
1987 declare_c2_type(AddExactLNode, MathExactLNode) \ | |
1988 declare_c2_type(SubExactINode, MathExactINode) \ | |
1989 declare_c2_type(SubExactLNode, MathExactLNode) \ | |
1990 declare_c2_type(NegExactINode, MathExactINode) \ | |
1991 declare_c2_type(MulExactINode, MathExactINode) \ | |
1992 declare_c2_type(FlagsProjNode, ProjNode) \ | |
1993 declare_c2_type(BoolNode, Node) \ | 1988 declare_c2_type(BoolNode, Node) \ |
1994 declare_c2_type(AbsNode, Node) \ | 1989 declare_c2_type(AbsNode, Node) \ |
1995 declare_c2_type(AbsINode, AbsNode) \ | 1990 declare_c2_type(AbsINode, AbsNode) \ |
1996 declare_c2_type(AbsFNode, AbsNode) \ | 1991 declare_c2_type(AbsFNode, AbsNode) \ |
1997 declare_c2_type(AbsDNode, AbsNode) \ | 1992 declare_c2_type(AbsDNode, AbsNode) \ |
2068 declare_c2_type(ExtractSNode, ExtractNode) \ | 2063 declare_c2_type(ExtractSNode, ExtractNode) \ |
2069 declare_c2_type(ExtractINode, ExtractNode) \ | 2064 declare_c2_type(ExtractINode, ExtractNode) \ |
2070 declare_c2_type(ExtractLNode, ExtractNode) \ | 2065 declare_c2_type(ExtractLNode, ExtractNode) \ |
2071 declare_c2_type(ExtractFNode, ExtractNode) \ | 2066 declare_c2_type(ExtractFNode, ExtractNode) \ |
2072 declare_c2_type(ExtractDNode, ExtractNode) \ | 2067 declare_c2_type(ExtractDNode, ExtractNode) \ |
2068 declare_c2_type(OverflowNode, CmpNode) \ | |
2069 declare_c2_type(OverflowINode, OverflowNode) \ | |
2070 declare_c2_type(OverflowAddINode, OverflowINode) \ | |
2071 declare_c2_type(OverflowSubINode, OverflowINode) \ | |
2072 declare_c2_type(OverflowMulINode, OverflowINode) \ | |
2073 declare_c2_type(OverflowLNode, OverflowNode) \ | |
2074 declare_c2_type(OverflowAddLNode, OverflowLNode) \ | |
2075 declare_c2_type(OverflowSubLNode, OverflowLNode) \ | |
2076 declare_c2_type(OverflowMulLNode, OverflowLNode) \ | |
2073 \ | 2077 \ |
2074 /*********************/ \ | 2078 /*********************/ \ |
2075 /* Adapter Blob Entries */ \ | 2079 /* Adapter Blob Entries */ \ |
2076 /*********************/ \ | 2080 /*********************/ \ |
2077 declare_toplevel_type(AdapterHandlerEntry) \ | 2081 declare_toplevel_type(AdapterHandlerEntry) \ |
2196 \ | 2200 \ |
2197 declare_toplevel_type(PtrQueue) \ | 2201 declare_toplevel_type(PtrQueue) \ |
2198 \ | 2202 \ |
2199 /* freelist */ \ | 2203 /* freelist */ \ |
2200 declare_toplevel_type(FreeChunk*) \ | 2204 declare_toplevel_type(FreeChunk*) \ |
2201 declare_toplevel_type(Metablock*) \ | 2205 declare_toplevel_type(AdaptiveFreeList<FreeChunk>*) \ |
2202 declare_toplevel_type(FreeBlockDictionary<FreeChunk>*) \ | 2206 declare_toplevel_type(AdaptiveFreeList<FreeChunk>) |
2203 declare_toplevel_type(FreeList<FreeChunk>*) \ | |
2204 declare_toplevel_type(FreeList<FreeChunk>) \ | |
2205 declare_toplevel_type(FreeBlockDictionary<Metablock>*) \ | |
2206 declare_toplevel_type(FreeList<Metablock>*) \ | |
2207 declare_toplevel_type(FreeList<Metablock>) \ | |
2208 declare_type(MetablockTreeDictionary, FreeBlockDictionary<Metablock>) | |
2209 | 2207 |
2210 | 2208 |
2211 //-------------------------------------------------------------------------------- | 2209 //-------------------------------------------------------------------------------- |
2212 // VM_INT_CONSTANTS | 2210 // VM_INT_CONSTANTS |
2213 // | 2211 // |