comparison src/share/vm/prims/whitebox.cpp @ 8001:db9981fd3124

8005915: Unify SERIALGC and INCLUDE_ALTERNATE_GCS Summary: Rename INCLUDE_ALTERNATE_GCS to INCLUDE_ALL_GCS and replace SERIALGC with INCLUDE_ALL_GCS. Reviewed-by: coleenp, stefank
author jprovino
date Wed, 23 Jan 2013 13:02:39 -0500
parents da91efe96a93
children 3c9bc17b9403
comparison
equal deleted inserted replaced
7619:46e60405583b 8001:db9981fd3124
34 #include "prims/wbtestmethods/parserTests.hpp" 34 #include "prims/wbtestmethods/parserTests.hpp"
35 35
36 #include "runtime/interfaceSupport.hpp" 36 #include "runtime/interfaceSupport.hpp"
37 #include "runtime/os.hpp" 37 #include "runtime/os.hpp"
38 #include "utilities/debug.hpp" 38 #include "utilities/debug.hpp"
39 39 #include "utilities/macros.hpp"
40 #ifndef SERIALGC 40
41 #if INCLUDE_ALL_GCS
41 #include "gc_implementation/g1/concurrentMark.hpp" 42 #include "gc_implementation/g1/concurrentMark.hpp"
42 #include "gc_implementation/g1/g1CollectedHeap.inline.hpp" 43 #include "gc_implementation/g1/g1CollectedHeap.inline.hpp"
43 #include "gc_implementation/g1/heapRegionRemSet.hpp" 44 #include "gc_implementation/g1/heapRegionRemSet.hpp"
44 #endif // !SERIALGC 45 #endif // INCLUDE_ALL_GCS
45 46
46 bool WhiteBox::_used = false; 47 bool WhiteBox::_used = false;
47 48
48 WB_ENTRY(jlong, WB_GetObjectAddress(JNIEnv* env, jobject o, jobject obj)) 49 WB_ENTRY(jlong, WB_GetObjectAddress(JNIEnv* env, jobject o, jobject obj))
49 return (jlong)(void*)JNIHandles::resolve(obj); 50 return (jlong)(void*)JNIHandles::resolve(obj);
83 ClassLoaderDataGraph::classes_do(&closure); 84 ClassLoaderDataGraph::classes_do(&closure);
84 85
85 return closure.found(); 86 return closure.found();
86 WB_END 87 WB_END
87 88
88 #ifndef SERIALGC 89 #if INCLUDE_ALL_GCS
89 WB_ENTRY(jboolean, WB_G1IsHumongous(JNIEnv* env, jobject o, jobject obj)) 90 WB_ENTRY(jboolean, WB_G1IsHumongous(JNIEnv* env, jobject o, jobject obj))
90 G1CollectedHeap* g1 = G1CollectedHeap::heap(); 91 G1CollectedHeap* g1 = G1CollectedHeap::heap();
91 oop result = JNIHandles::resolve(obj); 92 oop result = JNIHandles::resolve(obj);
92 const HeapRegion* hr = g1->heap_region_containing(result); 93 const HeapRegion* hr = g1->heap_region_containing(result);
93 return hr->isHumongous(); 94 return hr->isHumongous();
106 WB_END 107 WB_END
107 108
108 WB_ENTRY(jint, WB_G1RegionSize(JNIEnv* env, jobject o)) 109 WB_ENTRY(jint, WB_G1RegionSize(JNIEnv* env, jobject o))
109 return (jint)HeapRegion::GrainBytes; 110 return (jint)HeapRegion::GrainBytes;
110 WB_END 111 WB_END
111 #endif // !SERIALGC 112 #endif // INCLUDE_ALL_GCS
112 113
113 //Some convenience methods to deal with objects from java 114 //Some convenience methods to deal with objects from java
114 int WhiteBox::offset_for_field(const char* field_name, oop object, 115 int WhiteBox::offset_for_field(const char* field_name, oop object,
115 Symbol* signature_symbol) { 116 Symbol* signature_symbol) {
116 assert(field_name != NULL && strlen(field_name) > 0, "Field name not valid"); 117 assert(field_name != NULL && strlen(field_name) > 0, "Field name not valid");
169 {CC"isClassAlive0", CC"(Ljava/lang/String;)Z", (void*)&WB_IsClassAlive }, 170 {CC"isClassAlive0", CC"(Ljava/lang/String;)Z", (void*)&WB_IsClassAlive },
170 {CC "parseCommandLine", 171 {CC "parseCommandLine",
171 CC "(Ljava/lang/String;[Lsun/hotspot/parser/DiagnosticCommand;)[Ljava/lang/Object;", 172 CC "(Ljava/lang/String;[Lsun/hotspot/parser/DiagnosticCommand;)[Ljava/lang/Object;",
172 (void*) &WB_ParseCommandLine 173 (void*) &WB_ParseCommandLine
173 }, 174 },
174 #ifndef SERIALGC 175 #if INCLUDE_ALL_GCS
175 {CC"g1InConcurrentMark", CC"()Z", (void*)&WB_G1InConcurrentMark}, 176 {CC"g1InConcurrentMark", CC"()Z", (void*)&WB_G1InConcurrentMark},
176 {CC"g1IsHumongous", CC"(Ljava/lang/Object;)Z", (void*)&WB_G1IsHumongous }, 177 {CC"g1IsHumongous", CC"(Ljava/lang/Object;)Z", (void*)&WB_G1IsHumongous },
177 {CC"g1NumFreeRegions", CC"()J", (void*)&WB_G1NumFreeRegions }, 178 {CC"g1NumFreeRegions", CC"()J", (void*)&WB_G1NumFreeRegions },
178 {CC"g1RegionSize", CC"()I", (void*)&WB_G1RegionSize }, 179 {CC"g1RegionSize", CC"()I", (void*)&WB_G1RegionSize },
179 #endif // !SERIALGC 180 #endif // INCLUDE_ALL_GCS
180 }; 181 };
181 182
182 #undef CC 183 #undef CC
183 184
184 JVM_ENTRY(void, JVM_RegisterWhiteBoxMethods(JNIEnv* env, jclass wbclass)) 185 JVM_ENTRY(void, JVM_RegisterWhiteBoxMethods(JNIEnv* env, jclass wbclass))