Mercurial > hg > truffle
comparison src/share/vm/runtime/vmStructs.cpp @ 14909:4ca6dc0799b6
Backout jdk9 merge
author | Gilles Duboscq <duboscq@ssw.jku.at> |
---|---|
date | Tue, 01 Apr 2014 13:57:07 +0200 |
parents | 3e9a960f0da1 |
children | 82ff6c8c8f6e |
comparison
equal
deleted
inserted
replaced
14908:8db6e76cb658 | 14909:4ca6dc0799b6 |
---|---|
1 /* | 1 /* |
2 * Copyright (c) 2000, 2014, Oracle and/or its affiliates. All rights reserved. | 2 * Copyright (c) 2000, 2013, 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. |
144 # include "vmStructs_linux_arm.hpp" | 144 # include "vmStructs_linux_arm.hpp" |
145 #endif | 145 #endif |
146 #ifdef TARGET_OS_ARCH_linux_ppc | 146 #ifdef TARGET_OS_ARCH_linux_ppc |
147 # include "vmStructs_linux_ppc.hpp" | 147 # include "vmStructs_linux_ppc.hpp" |
148 #endif | 148 #endif |
149 #ifdef TARGET_OS_ARCH_aix_ppc | |
150 # include "vmStructs_aix_ppc.hpp" | |
151 #endif | |
152 #ifdef TARGET_OS_ARCH_bsd_x86 | 149 #ifdef TARGET_OS_ARCH_bsd_x86 |
153 # include "vmStructs_bsd_x86.hpp" | 150 # include "vmStructs_bsd_x86.hpp" |
154 #endif | 151 #endif |
155 #ifdef TARGET_OS_ARCH_bsd_zero | 152 #ifdef TARGET_OS_ARCH_bsd_zero |
156 # include "vmStructs_bsd_zero.hpp" | 153 # include "vmStructs_bsd_zero.hpp" |
206 # include "adfiles/adGlobals_zero.hpp" | 203 # include "adfiles/adGlobals_zero.hpp" |
207 #endif | 204 #endif |
208 #ifdef TARGET_ARCH_MODEL_arm | 205 #ifdef TARGET_ARCH_MODEL_arm |
209 # include "adfiles/adGlobals_arm.hpp" | 206 # include "adfiles/adGlobals_arm.hpp" |
210 #endif | 207 #endif |
211 #ifdef TARGET_ARCH_MODEL_ppc_32 | 208 #ifdef TARGET_ARCH_MODEL_ppc |
212 # include "adfiles/adGlobals_ppc_32.hpp" | 209 # include "adfiles/adGlobals_ppc.hpp" |
213 #endif | 210 #endif |
214 #ifdef TARGET_ARCH_MODEL_ppc_64 | |
215 # include "adfiles/adGlobals_ppc_64.hpp" | |
216 #endif | 211 #endif |
217 #endif // COMPILER2 | |
218 | 212 |
219 // Note: the cross-product of (c1, c2, product, nonproduct, ...), | 213 // Note: the cross-product of (c1, c2, product, nonproduct, ...), |
220 // (nonstatic, static), and (unchecked, checked) has not been taken. | 214 // (nonstatic, static), and (unchecked, checked) has not been taken. |
221 // Only the macros currently needed have been defined. | 215 // Only the macros currently needed have been defined. |
222 | 216 |
253 typedef Hashtable<oop, mtSymbol> StringHashtable; | 247 typedef Hashtable<oop, mtSymbol> StringHashtable; |
254 typedef TwoOopHashtable<Klass*, mtClass> KlassTwoOopHashtable; | 248 typedef TwoOopHashtable<Klass*, mtClass> KlassTwoOopHashtable; |
255 typedef Hashtable<Klass*, mtClass> KlassHashtable; | 249 typedef Hashtable<Klass*, mtClass> KlassHashtable; |
256 typedef HashtableEntry<Klass*, mtClass> KlassHashtableEntry; | 250 typedef HashtableEntry<Klass*, mtClass> KlassHashtableEntry; |
257 typedef TwoOopHashtable<Symbol*, mtClass> SymbolTwoOopHashtable; | 251 typedef TwoOopHashtable<Symbol*, mtClass> SymbolTwoOopHashtable; |
252 typedef BinaryTreeDictionary<Metablock, FreeList> MetablockTreeDictionary; | |
258 | 253 |
259 //-------------------------------------------------------------------------------- | 254 //-------------------------------------------------------------------------------- |
260 // VM_STRUCTS | 255 // VM_STRUCTS |
261 // | 256 // |
262 // This list enumerates all of the fields the serviceability agent | 257 // This list enumerates all of the fields the serviceability agent |
1222 c2_nonstatic_field(Block, _succs, Block_Array) \ | 1217 c2_nonstatic_field(Block, _succs, Block_Array) \ |
1223 c2_nonstatic_field(Block, _num_succs, uint) \ | 1218 c2_nonstatic_field(Block, _num_succs, uint) \ |
1224 c2_nonstatic_field(Block, _pre_order, uint) \ | 1219 c2_nonstatic_field(Block, _pre_order, uint) \ |
1225 c2_nonstatic_field(Block, _dom_depth, uint) \ | 1220 c2_nonstatic_field(Block, _dom_depth, uint) \ |
1226 c2_nonstatic_field(Block, _idom, Block*) \ | 1221 c2_nonstatic_field(Block, _idom, Block*) \ |
1227 c2_nonstatic_field(Block, _freq, jdouble) \ | 1222 c2_nonstatic_field(Block, _freq, jfloat) \ |
1228 \ | 1223 \ |
1229 c2_nonstatic_field(CFGElement, _freq, jdouble) \ | 1224 c2_nonstatic_field(CFGElement, _freq, jfloat) \ |
1230 \ | 1225 \ |
1231 c2_nonstatic_field(Block_List, _cnt, uint) \ | 1226 c2_nonstatic_field(Block_List, _cnt, uint) \ |
1232 \ | 1227 \ |
1233 c2_nonstatic_field(Block_Array, _size, uint) \ | 1228 c2_nonstatic_field(Block_Array, _size, uint) \ |
1234 c2_nonstatic_field(Block_Array, _blocks, Block**) \ | 1229 c2_nonstatic_field(Block_Array, _blocks, Block**) \ |
1332 nonstatic_field(elapsedTimer, _active, bool) \ | 1327 nonstatic_field(elapsedTimer, _active, bool) \ |
1333 nonstatic_field(InvocationCounter, _counter, unsigned int) \ | 1328 nonstatic_field(InvocationCounter, _counter, unsigned int) \ |
1334 volatile_nonstatic_field(FreeChunk, _size, size_t) \ | 1329 volatile_nonstatic_field(FreeChunk, _size, size_t) \ |
1335 nonstatic_field(FreeChunk, _next, FreeChunk*) \ | 1330 nonstatic_field(FreeChunk, _next, FreeChunk*) \ |
1336 nonstatic_field(FreeChunk, _prev, FreeChunk*) \ | 1331 nonstatic_field(FreeChunk, _prev, FreeChunk*) \ |
1337 nonstatic_field(AdaptiveFreeList<FreeChunk>, _size, size_t) \ | 1332 nonstatic_field(FreeList<FreeChunk>, _size, size_t) \ |
1338 nonstatic_field(AdaptiveFreeList<FreeChunk>, _count, ssize_t) | 1333 nonstatic_field(FreeList<Metablock>, _size, size_t) \ |
1334 nonstatic_field(FreeList<FreeChunk>, _count, ssize_t) \ | |
1335 nonstatic_field(FreeList<Metablock>, _count, ssize_t) \ | |
1336 nonstatic_field(MetablockTreeDictionary, _total_size, size_t) | |
1339 | 1337 |
1340 //-------------------------------------------------------------------------------- | 1338 //-------------------------------------------------------------------------------- |
1341 // VM_TYPES | 1339 // VM_TYPES |
1342 // | 1340 // |
1343 // This list must enumerate at least all of the types in the above | 1341 // This list must enumerate at least all of the types in the above |
1862 declare_c2_type(CastX2PNode, Node) \ | 1860 declare_c2_type(CastX2PNode, Node) \ |
1863 declare_c2_type(CastP2XNode, Node) \ | 1861 declare_c2_type(CastP2XNode, Node) \ |
1864 declare_c2_type(MemBarNode, MultiNode) \ | 1862 declare_c2_type(MemBarNode, MultiNode) \ |
1865 declare_c2_type(MemBarAcquireNode, MemBarNode) \ | 1863 declare_c2_type(MemBarAcquireNode, MemBarNode) \ |
1866 declare_c2_type(MemBarReleaseNode, MemBarNode) \ | 1864 declare_c2_type(MemBarReleaseNode, MemBarNode) \ |
1867 declare_c2_type(LoadFenceNode, MemBarNode) \ | |
1868 declare_c2_type(StoreFenceNode, MemBarNode) \ | |
1869 declare_c2_type(MemBarVolatileNode, MemBarNode) \ | 1865 declare_c2_type(MemBarVolatileNode, MemBarNode) \ |
1870 declare_c2_type(MemBarCPUOrderNode, MemBarNode) \ | 1866 declare_c2_type(MemBarCPUOrderNode, MemBarNode) \ |
1871 declare_c2_type(InitializeNode, MemBarNode) \ | 1867 declare_c2_type(InitializeNode, MemBarNode) \ |
1872 declare_c2_type(ThreadLocalNode, Node) \ | 1868 declare_c2_type(ThreadLocalNode, Node) \ |
1873 declare_c2_type(Opaque1Node, Node) \ | 1869 declare_c2_type(Opaque1Node, Node) \ |
1988 declare_c2_type(CmpL3Node, CmpLNode) \ | 1984 declare_c2_type(CmpL3Node, CmpLNode) \ |
1989 declare_c2_type(CmpFNode, CmpNode) \ | 1985 declare_c2_type(CmpFNode, CmpNode) \ |
1990 declare_c2_type(CmpF3Node, CmpFNode) \ | 1986 declare_c2_type(CmpF3Node, CmpFNode) \ |
1991 declare_c2_type(CmpDNode, CmpNode) \ | 1987 declare_c2_type(CmpDNode, CmpNode) \ |
1992 declare_c2_type(CmpD3Node, CmpDNode) \ | 1988 declare_c2_type(CmpD3Node, CmpDNode) \ |
1989 declare_c2_type(MathExactNode, MultiNode) \ | |
1990 declare_c2_type(MathExactINode, MathExactNode) \ | |
1991 declare_c2_type(AddExactINode, MathExactINode) \ | |
1992 declare_c2_type(AddExactLNode, MathExactLNode) \ | |
1993 declare_c2_type(SubExactINode, MathExactINode) \ | |
1994 declare_c2_type(SubExactLNode, MathExactLNode) \ | |
1995 declare_c2_type(NegExactINode, MathExactINode) \ | |
1996 declare_c2_type(MulExactINode, MathExactINode) \ | |
1997 declare_c2_type(FlagsProjNode, ProjNode) \ | |
1993 declare_c2_type(BoolNode, Node) \ | 1998 declare_c2_type(BoolNode, Node) \ |
1994 declare_c2_type(AbsNode, Node) \ | 1999 declare_c2_type(AbsNode, Node) \ |
1995 declare_c2_type(AbsINode, AbsNode) \ | 2000 declare_c2_type(AbsINode, AbsNode) \ |
1996 declare_c2_type(AbsFNode, AbsNode) \ | 2001 declare_c2_type(AbsFNode, AbsNode) \ |
1997 declare_c2_type(AbsDNode, AbsNode) \ | 2002 declare_c2_type(AbsDNode, AbsNode) \ |
2068 declare_c2_type(ExtractSNode, ExtractNode) \ | 2073 declare_c2_type(ExtractSNode, ExtractNode) \ |
2069 declare_c2_type(ExtractINode, ExtractNode) \ | 2074 declare_c2_type(ExtractINode, ExtractNode) \ |
2070 declare_c2_type(ExtractLNode, ExtractNode) \ | 2075 declare_c2_type(ExtractLNode, ExtractNode) \ |
2071 declare_c2_type(ExtractFNode, ExtractNode) \ | 2076 declare_c2_type(ExtractFNode, ExtractNode) \ |
2072 declare_c2_type(ExtractDNode, ExtractNode) \ | 2077 declare_c2_type(ExtractDNode, ExtractNode) \ |
2073 declare_c2_type(OverflowNode, CmpNode) \ | |
2074 declare_c2_type(OverflowINode, OverflowNode) \ | |
2075 declare_c2_type(OverflowAddINode, OverflowINode) \ | |
2076 declare_c2_type(OverflowSubINode, OverflowINode) \ | |
2077 declare_c2_type(OverflowMulINode, OverflowINode) \ | |
2078 declare_c2_type(OverflowLNode, OverflowNode) \ | |
2079 declare_c2_type(OverflowAddLNode, OverflowLNode) \ | |
2080 declare_c2_type(OverflowSubLNode, OverflowLNode) \ | |
2081 declare_c2_type(OverflowMulLNode, OverflowLNode) \ | |
2082 \ | 2078 \ |
2083 /*********************/ \ | 2079 /*********************/ \ |
2084 /* Adapter Blob Entries */ \ | 2080 /* Adapter Blob Entries */ \ |
2085 /*********************/ \ | 2081 /*********************/ \ |
2086 declare_toplevel_type(AdapterHandlerEntry) \ | 2082 declare_toplevel_type(AdapterHandlerEntry) \ |
2205 \ | 2201 \ |
2206 declare_toplevel_type(PtrQueue) \ | 2202 declare_toplevel_type(PtrQueue) \ |
2207 \ | 2203 \ |
2208 /* freelist */ \ | 2204 /* freelist */ \ |
2209 declare_toplevel_type(FreeChunk*) \ | 2205 declare_toplevel_type(FreeChunk*) \ |
2210 declare_toplevel_type(AdaptiveFreeList<FreeChunk>*) \ | 2206 declare_toplevel_type(Metablock*) \ |
2211 declare_toplevel_type(AdaptiveFreeList<FreeChunk>) | 2207 declare_toplevel_type(FreeBlockDictionary<FreeChunk>*) \ |
2208 declare_toplevel_type(FreeList<FreeChunk>*) \ | |
2209 declare_toplevel_type(FreeList<FreeChunk>) \ | |
2210 declare_toplevel_type(FreeBlockDictionary<Metablock>*) \ | |
2211 declare_toplevel_type(FreeList<Metablock>*) \ | |
2212 declare_toplevel_type(FreeList<Metablock>) \ | |
2213 declare_type(MetablockTreeDictionary, FreeBlockDictionary<Metablock>) | |
2212 | 2214 |
2213 | 2215 |
2214 //-------------------------------------------------------------------------------- | 2216 //-------------------------------------------------------------------------------- |
2215 // VM_INT_CONSTANTS | 2217 // VM_INT_CONSTANTS |
2216 // | 2218 // |
2448 declare_constant(DataLayout::multi_branch_data_tag) \ | 2450 declare_constant(DataLayout::multi_branch_data_tag) \ |
2449 declare_constant(DataLayout::arg_info_data_tag) \ | 2451 declare_constant(DataLayout::arg_info_data_tag) \ |
2450 declare_constant(DataLayout::call_type_data_tag) \ | 2452 declare_constant(DataLayout::call_type_data_tag) \ |
2451 declare_constant(DataLayout::virtual_call_type_data_tag) \ | 2453 declare_constant(DataLayout::virtual_call_type_data_tag) \ |
2452 declare_constant(DataLayout::parameters_type_data_tag) \ | 2454 declare_constant(DataLayout::parameters_type_data_tag) \ |
2453 declare_constant(DataLayout::speculative_trap_data_tag) \ | |
2454 \ | 2455 \ |
2455 /*************************************/ \ | 2456 /*************************************/ \ |
2456 /* InstanceKlass enum */ \ | 2457 /* InstanceKlass enum */ \ |
2457 /*************************************/ \ | 2458 /*************************************/ \ |
2458 \ | 2459 \ |