191 #include "opto/castnode.hpp"
192 #include "opto/cfgnode.hpp"
193 #include "opto/chaitin.hpp"
194 #include "opto/convertnode.hpp"
195 #include "opto/divnode.hpp"
196 #include "opto/intrinsicnode.hpp"
197 #include "opto/locknode.hpp"
198 #include "opto/loopnode.hpp"
199 #include "opto/machnode.hpp"
200 #include "opto/matcher.hpp"
201 #include "opto/mathexactnode.hpp"
202 #include "opto/movenode.hpp"
203 #include "opto/mulnode.hpp"
204 #include "opto/narrowptrnode.hpp"
205 #include "opto/opaquenode.hpp"
206 #include "opto/optoreg.hpp"
207 #include "opto/parse.hpp"
208 #include "opto/phaseX.hpp"
209 #include "opto/regalloc.hpp"
210 #include "opto/rootnode.hpp"
211 #include "opto/subnode.hpp"
212 #include "opto/vectornode.hpp"
213 #endif // COMPILER2
214
215 // Note: the cross-product of (c1, c2, product, nonproduct, ...),
216 // (nonstatic, static), and (unchecked, checked) has not been taken.
217 // Only the macros currently needed have been defined.
218
219 // A field whose type is not checked is given a null string as the
220 // type name, indicating an "opaque" type to the serviceability agent.
221
222 // NOTE: there is an interdependency between this file and
223 // HotSpotTypeDataBase.java, which parses the type strings.
224
225 #ifndef REG_COUNT
226 #define REG_COUNT 0
227 #endif
228 // whole purpose of this function is to work around bug c++/27724 in gcc 4.1.1
229 // with optimization turned on it doesn't affect produced code
230 static inline uint64_t cast_uint64_t(size_t x)
2059 declare_c2_type(Pack2LNode, PackNode) \
2060 declare_c2_type(Pack2DNode, PackNode) \
2061 declare_c2_type(ExtractNode, Node) \
2062 declare_c2_type(ExtractBNode, ExtractNode) \
2063 declare_c2_type(ExtractUBNode, ExtractNode) \
2064 declare_c2_type(ExtractCNode, ExtractNode) \
2065 declare_c2_type(ExtractSNode, ExtractNode) \
2066 declare_c2_type(ExtractINode, ExtractNode) \
2067 declare_c2_type(ExtractLNode, ExtractNode) \
2068 declare_c2_type(ExtractFNode, ExtractNode) \
2069 declare_c2_type(ExtractDNode, ExtractNode) \
2070 declare_c2_type(OverflowNode, CmpNode) \
2071 declare_c2_type(OverflowINode, OverflowNode) \
2072 declare_c2_type(OverflowAddINode, OverflowINode) \
2073 declare_c2_type(OverflowSubINode, OverflowINode) \
2074 declare_c2_type(OverflowMulINode, OverflowINode) \
2075 declare_c2_type(OverflowLNode, OverflowNode) \
2076 declare_c2_type(OverflowAddLNode, OverflowLNode) \
2077 declare_c2_type(OverflowSubLNode, OverflowLNode) \
2078 declare_c2_type(OverflowMulLNode, OverflowLNode) \
2079 \
2080 /*********************/ \
2081 /* Adapter Blob Entries */ \
2082 /*********************/ \
2083 declare_toplevel_type(AdapterHandlerEntry) \
2084 declare_toplevel_type(AdapterHandlerEntry*) \
2085 \
2086 /*********************/ \
2087 /* CI */ \
2088 /*********************/ \
2089 declare_toplevel_type(ciEnv) \
2090 declare_toplevel_type(ciObjectFactory) \
2091 declare_toplevel_type(ciConstant) \
2092 declare_toplevel_type(ciField) \
2093 declare_toplevel_type(ciSymbol) \
2094 declare_toplevel_type(ciBaseObject) \
2095 declare_type(ciObject, ciBaseObject) \
2096 declare_type(ciInstance, ciObject) \
2097 declare_type(ciMetadata, ciBaseObject) \
2098 declare_type(ciMethod, ciMetadata) \
2240 \
2241 declare_constant(oopSize) \
2242 declare_constant(LogBytesPerWord) \
2243 declare_constant(BytesPerWord) \
2244 declare_constant(BytesPerLong) \
2245 \
2246 declare_constant(LogKlassAlignmentInBytes) \
2247 \
2248 /********************************************/ \
2249 /* Generation and Space Hierarchy Constants */ \
2250 /********************************************/ \
2251 \
2252 declare_constant(ageTable::table_size) \
2253 \
2254 declare_constant(BarrierSet::ModRef) \
2255 declare_constant(BarrierSet::CardTableModRef) \
2256 declare_constant(BarrierSet::CardTableForRS) \
2257 declare_constant(BarrierSet::CardTableExtension) \
2258 declare_constant(BarrierSet::G1SATBCT) \
2259 declare_constant(BarrierSet::G1SATBCTLogging) \
2260 \
2261 declare_constant(BlockOffsetSharedArray::LogN) \
2262 declare_constant(BlockOffsetSharedArray::LogN_words) \
2263 declare_constant(BlockOffsetSharedArray::N_bytes) \
2264 declare_constant(BlockOffsetSharedArray::N_words) \
2265 \
2266 declare_constant(BlockOffsetArray::N_words) \
2267 \
2268 declare_constant(CardTableModRefBS::clean_card) \
2269 declare_constant(CardTableModRefBS::last_card) \
2270 declare_constant(CardTableModRefBS::dirty_card) \
2271 declare_constant(CardTableModRefBS::Precise) \
2272 declare_constant(CardTableModRefBS::ObjHeadPreciseArray) \
2273 declare_constant(CardTableModRefBS::card_shift) \
2274 declare_constant(CardTableModRefBS::card_size) \
2275 declare_constant(CardTableModRefBS::card_size_in_words) \
2276 \
2277 declare_constant(CardTableRS::youngergen_card) \
2278 \
2279 declare_constant(CollectedHeap::GenCollectedHeap) \
|
191 #include "opto/castnode.hpp"
192 #include "opto/cfgnode.hpp"
193 #include "opto/chaitin.hpp"
194 #include "opto/convertnode.hpp"
195 #include "opto/divnode.hpp"
196 #include "opto/intrinsicnode.hpp"
197 #include "opto/locknode.hpp"
198 #include "opto/loopnode.hpp"
199 #include "opto/machnode.hpp"
200 #include "opto/matcher.hpp"
201 #include "opto/mathexactnode.hpp"
202 #include "opto/movenode.hpp"
203 #include "opto/mulnode.hpp"
204 #include "opto/narrowptrnode.hpp"
205 #include "opto/opaquenode.hpp"
206 #include "opto/optoreg.hpp"
207 #include "opto/parse.hpp"
208 #include "opto/phaseX.hpp"
209 #include "opto/regalloc.hpp"
210 #include "opto/rootnode.hpp"
211 #include "opto/shenandoahSupport.hpp"
212 #include "opto/subnode.hpp"
213 #include "opto/vectornode.hpp"
214 #endif // COMPILER2
215
216 // Note: the cross-product of (c1, c2, product, nonproduct, ...),
217 // (nonstatic, static), and (unchecked, checked) has not been taken.
218 // Only the macros currently needed have been defined.
219
220 // A field whose type is not checked is given a null string as the
221 // type name, indicating an "opaque" type to the serviceability agent.
222
223 // NOTE: there is an interdependency between this file and
224 // HotSpotTypeDataBase.java, which parses the type strings.
225
226 #ifndef REG_COUNT
227 #define REG_COUNT 0
228 #endif
229 // whole purpose of this function is to work around bug c++/27724 in gcc 4.1.1
230 // with optimization turned on it doesn't affect produced code
231 static inline uint64_t cast_uint64_t(size_t x)
2060 declare_c2_type(Pack2LNode, PackNode) \
2061 declare_c2_type(Pack2DNode, PackNode) \
2062 declare_c2_type(ExtractNode, Node) \
2063 declare_c2_type(ExtractBNode, ExtractNode) \
2064 declare_c2_type(ExtractUBNode, ExtractNode) \
2065 declare_c2_type(ExtractCNode, ExtractNode) \
2066 declare_c2_type(ExtractSNode, ExtractNode) \
2067 declare_c2_type(ExtractINode, ExtractNode) \
2068 declare_c2_type(ExtractLNode, ExtractNode) \
2069 declare_c2_type(ExtractFNode, ExtractNode) \
2070 declare_c2_type(ExtractDNode, ExtractNode) \
2071 declare_c2_type(OverflowNode, CmpNode) \
2072 declare_c2_type(OverflowINode, OverflowNode) \
2073 declare_c2_type(OverflowAddINode, OverflowINode) \
2074 declare_c2_type(OverflowSubINode, OverflowINode) \
2075 declare_c2_type(OverflowMulINode, OverflowINode) \
2076 declare_c2_type(OverflowLNode, OverflowNode) \
2077 declare_c2_type(OverflowAddLNode, OverflowLNode) \
2078 declare_c2_type(OverflowSubLNode, OverflowLNode) \
2079 declare_c2_type(OverflowMulLNode, OverflowLNode) \
2080 declare_c2_type(ShenandoahBarrierNode, TypeNode) \
2081 declare_c2_type(ShenandoahReadBarrierNode, ShenandoahBarrierNode) \
2082 declare_c2_type(ShenandoahWriteBarrierNode, ShenandoahBarrierNode) \
2083 \
2084 /*********************/ \
2085 /* Adapter Blob Entries */ \
2086 /*********************/ \
2087 declare_toplevel_type(AdapterHandlerEntry) \
2088 declare_toplevel_type(AdapterHandlerEntry*) \
2089 \
2090 /*********************/ \
2091 /* CI */ \
2092 /*********************/ \
2093 declare_toplevel_type(ciEnv) \
2094 declare_toplevel_type(ciObjectFactory) \
2095 declare_toplevel_type(ciConstant) \
2096 declare_toplevel_type(ciField) \
2097 declare_toplevel_type(ciSymbol) \
2098 declare_toplevel_type(ciBaseObject) \
2099 declare_type(ciObject, ciBaseObject) \
2100 declare_type(ciInstance, ciObject) \
2101 declare_type(ciMetadata, ciBaseObject) \
2102 declare_type(ciMethod, ciMetadata) \
2244 \
2245 declare_constant(oopSize) \
2246 declare_constant(LogBytesPerWord) \
2247 declare_constant(BytesPerWord) \
2248 declare_constant(BytesPerLong) \
2249 \
2250 declare_constant(LogKlassAlignmentInBytes) \
2251 \
2252 /********************************************/ \
2253 /* Generation and Space Hierarchy Constants */ \
2254 /********************************************/ \
2255 \
2256 declare_constant(ageTable::table_size) \
2257 \
2258 declare_constant(BarrierSet::ModRef) \
2259 declare_constant(BarrierSet::CardTableModRef) \
2260 declare_constant(BarrierSet::CardTableForRS) \
2261 declare_constant(BarrierSet::CardTableExtension) \
2262 declare_constant(BarrierSet::G1SATBCT) \
2263 declare_constant(BarrierSet::G1SATBCTLogging) \
2264 declare_constant(BarrierSet::ShenandoahBarrierSet) \
2265 \
2266 declare_constant(BlockOffsetSharedArray::LogN) \
2267 declare_constant(BlockOffsetSharedArray::LogN_words) \
2268 declare_constant(BlockOffsetSharedArray::N_bytes) \
2269 declare_constant(BlockOffsetSharedArray::N_words) \
2270 \
2271 declare_constant(BlockOffsetArray::N_words) \
2272 \
2273 declare_constant(CardTableModRefBS::clean_card) \
2274 declare_constant(CardTableModRefBS::last_card) \
2275 declare_constant(CardTableModRefBS::dirty_card) \
2276 declare_constant(CardTableModRefBS::Precise) \
2277 declare_constant(CardTableModRefBS::ObjHeadPreciseArray) \
2278 declare_constant(CardTableModRefBS::card_shift) \
2279 declare_constant(CardTableModRefBS::card_size) \
2280 declare_constant(CardTableModRefBS::card_size_in_words) \
2281 \
2282 declare_constant(CardTableRS::youngergen_card) \
2283 \
2284 declare_constant(CollectedHeap::GenCollectedHeap) \
|