4166 res = Atomic::cmpxchg(newVal, addr, oldVal); |
4166 res = Atomic::cmpxchg(newVal, addr, oldVal); |
4167 |
4167 |
4168 return res == oldVal; |
4168 return res == oldVal; |
4169 JVM_END |
4169 JVM_END |
4170 |
4170 |
|
4171 // DTrace /////////////////////////////////////////////////////////////////// |
|
4172 |
|
4173 JVM_ENTRY(jint, JVM_DTraceGetVersion(JNIEnv* env)) |
|
4174 JVMWrapper("JVM_DTraceGetVersion"); |
|
4175 return (jint)JVM_TRACING_DTRACE_VERSION; |
|
4176 JVM_END |
|
4177 |
|
4178 JVM_ENTRY(jlong,JVM_DTraceActivate( |
|
4179 JNIEnv* env, jint version, jstring module_name, jint providers_count, |
|
4180 JVM_DTraceProvider* providers)) |
|
4181 JVMWrapper("JVM_DTraceActivate"); |
|
4182 return DTraceJSDT::activate( |
|
4183 version, module_name, providers_count, providers, CHECK_0); |
|
4184 JVM_END |
|
4185 |
|
4186 JVM_ENTRY(jboolean,JVM_DTraceIsProbeEnabled(JNIEnv* env, jmethodID method)) |
|
4187 JVMWrapper("JVM_DTraceIsProbeEnabled"); |
|
4188 return DTraceJSDT::is_probe_enabled(method); |
|
4189 JVM_END |
|
4190 |
|
4191 JVM_ENTRY(void,JVM_DTraceDispose(JNIEnv* env, jlong handle)) |
|
4192 JVMWrapper("JVM_DTraceDispose"); |
|
4193 DTraceJSDT::dispose(handle); |
|
4194 JVM_END |
|
4195 |
|
4196 JVM_ENTRY(jboolean,JVM_DTraceIsSupported(JNIEnv* env)) |
|
4197 JVMWrapper("JVM_DTraceIsSupported"); |
|
4198 return DTraceJSDT::is_supported(); |
|
4199 JVM_END |
|
4200 |
4171 // Returns an array of all live Thread objects (VM internal JavaThreads, |
4201 // Returns an array of all live Thread objects (VM internal JavaThreads, |
4172 // jvmti agent threads, and JNI attaching threads are skipped) |
4202 // jvmti agent threads, and JNI attaching threads are skipped) |
4173 // See CR 6404306 regarding JNI attaching threads |
4203 // See CR 6404306 regarding JNI attaching threads |
4174 JVM_ENTRY(jobjectArray, JVM_GetAllThreads(JNIEnv *env, jclass dummy)) |
4204 JVM_ENTRY(jobjectArray, JVM_GetAllThreads(JNIEnv *env, jclass dummy)) |
4175 ResourceMark rm(THREAD); |
4205 ResourceMark rm(THREAD); |