225
226 #if INCLUDE_JVMTI
227 #define JVMTI_STRUCTS(static_field) \
228 static_field(JvmtiExport, _can_access_local_variables, bool) \
229 static_field(JvmtiExport, _can_hotswap_or_post_breakpoint, bool) \
230 static_field(JvmtiExport, _can_post_on_exceptions, bool) \
231 static_field(JvmtiExport, _can_walk_any_space, bool)
232 #else
233 #define JVMTI_STRUCTS(static_field)
234 #endif // INCLUDE_JVMTI
235
236 typedef HashtableEntry<intptr_t, mtInternal> IntptrHashtableEntry;
237 typedef Hashtable<intptr_t, mtInternal> IntptrHashtable;
238 typedef Hashtable<Symbol*, mtSymbol> SymbolHashtable;
239 typedef HashtableEntry<Symbol*, mtClass> SymbolHashtableEntry;
240 typedef Hashtable<oop, mtSymbol> StringHashtable;
241 typedef TwoOopHashtable<Klass*, mtClass> KlassTwoOopHashtable;
242 typedef Hashtable<Klass*, mtClass> KlassHashtable;
243 typedef HashtableEntry<Klass*, mtClass> KlassHashtableEntry;
244 typedef TwoOopHashtable<Symbol*, mtClass> SymbolTwoOopHashtable;
245 typedef BinaryTreeDictionary<Metablock, FreeList> MetablockTreeDictionary;
246
247 //--------------------------------------------------------------------------------
248 // VM_STRUCTS
249 //
250 // This list enumerates all of the fields the serviceability agent
251 // needs to know about. Be sure to see also the type table below this one.
252 // NOTE that there are platform-specific additions to this table in
253 // vmStructs_<os>_<cpu>.hpp.
254
255 #define VM_STRUCTS(nonstatic_field, \
256 static_field, \
257 unchecked_nonstatic_field, \
258 volatile_nonstatic_field, \
259 nonproduct_nonstatic_field, \
260 c1_nonstatic_field, \
261 c2_nonstatic_field, \
262 unchecked_c1_static_field, \
263 unchecked_c2_static_field) \
264 \
265 /******************************************************************/ \
|
225
226 #if INCLUDE_JVMTI
227 #define JVMTI_STRUCTS(static_field) \
228 static_field(JvmtiExport, _can_access_local_variables, bool) \
229 static_field(JvmtiExport, _can_hotswap_or_post_breakpoint, bool) \
230 static_field(JvmtiExport, _can_post_on_exceptions, bool) \
231 static_field(JvmtiExport, _can_walk_any_space, bool)
232 #else
233 #define JVMTI_STRUCTS(static_field)
234 #endif // INCLUDE_JVMTI
235
236 typedef HashtableEntry<intptr_t, mtInternal> IntptrHashtableEntry;
237 typedef Hashtable<intptr_t, mtInternal> IntptrHashtable;
238 typedef Hashtable<Symbol*, mtSymbol> SymbolHashtable;
239 typedef HashtableEntry<Symbol*, mtClass> SymbolHashtableEntry;
240 typedef Hashtable<oop, mtSymbol> StringHashtable;
241 typedef TwoOopHashtable<Klass*, mtClass> KlassTwoOopHashtable;
242 typedef Hashtable<Klass*, mtClass> KlassHashtable;
243 typedef HashtableEntry<Klass*, mtClass> KlassHashtableEntry;
244 typedef TwoOopHashtable<Symbol*, mtClass> SymbolTwoOopHashtable;
245 typedef BinaryTreeDictionary<Metablock, FreeList<Metablock> > MetablockTreeDictionary;
246
247 //--------------------------------------------------------------------------------
248 // VM_STRUCTS
249 //
250 // This list enumerates all of the fields the serviceability agent
251 // needs to know about. Be sure to see also the type table below this one.
252 // NOTE that there are platform-specific additions to this table in
253 // vmStructs_<os>_<cpu>.hpp.
254
255 #define VM_STRUCTS(nonstatic_field, \
256 static_field, \
257 unchecked_nonstatic_field, \
258 volatile_nonstatic_field, \
259 nonproduct_nonstatic_field, \
260 c1_nonstatic_field, \
261 c2_nonstatic_field, \
262 unchecked_c1_static_field, \
263 unchecked_c2_static_field) \
264 \
265 /******************************************************************/ \
|