merged volatile memory barriers
[cacao.git] / src / native / vm / gnuclasspath / gnu_java_lang_management_VMThreadMXBeanImpl.cpp
index 19ce5197ab5c3f523b977798c00f6e6cae6de981..dd11f7c4628ea0cea176b985e49956ac09ba8094 100644 (file)
 # include "native/vm/include/gnu_java_lang_management_VMThreadMXBeanImpl.h"
 #endif
 
-#include "toolbox/logging.h"
+#include "threads/threadlist.hpp"
 
-#include "vm/classcache.h"
+#include "toolbox/logging.hpp"
+
+#include "vm/classcache.hpp"
 #include "vm/utf8.h"
 #include "vm/vm.hpp"
 
@@ -92,10 +94,7 @@ JNIEXPORT jlong JNICALL Java_gnu_java_lang_management_VMThreadMXBeanImpl_getCurr
  */
 JNIEXPORT jint JNICALL Java_gnu_java_lang_management_VMThreadMXBeanImpl_getPeakThreadCount(JNIEnv *env, jclass clazz)
 {
-/*     return _Jv_jvm->java_lang_management_ThreadMXBean_PeakThreadCount; */
-#warning Move to C++
-       log_println("Java_gnu_java_lang_management_ThreadMXBean_getPeakThreadCount: MOVE TO C++!");
-       return 0;
+       return ThreadList::get_peak_of_active_java_threads();
 }
 
 
@@ -145,10 +144,7 @@ JNIEXPORT jlong JNICALL Java_gnu_java_lang_management_VMThreadMXBeanImpl_getThre
  */
 JNIEXPORT jlong JNICALL Java_gnu_java_lang_management_VMThreadMXBeanImpl_getTotalStartedThreadCount(JNIEnv *env, jclass clazz)
 {
-/*     return _Jv_jvm->java_lang_management_ThreadMXBean_TotalStartedThreadCount; */
-#warning Move to C++
-       log_println("Java_gnu_java_lang_management_ThreadMXBean_getTotalStartedThreadCount: MOVE TO C++!");
-       return 0;
+       return ThreadList::get_number_of_started_java_threads();
 }
 
 
@@ -159,10 +155,7 @@ JNIEXPORT jlong JNICALL Java_gnu_java_lang_management_VMThreadMXBeanImpl_getTota
  */
 JNIEXPORT void JNICALL Java_gnu_java_lang_management_VMThreadMXBeanImpl_resetPeakThreadCount(JNIEnv *env, jclass clazz)
 {
-/*     _Jv_jvm->java_lang_management_ThreadMXBean_PeakThreadCount = */
-/*             _Jv_jvm->java_lang_management_ThreadMXBean_ThreadCount; */
-#warning Move to C++
-       log_println("Java_gnu_java_lang_management_VMThreadMXBeanImpl_resetPeakThreadCount: MOVE TO C++!");
+       return ThreadList::reset_peak_of_active_java_threads();
 }
 
 } // extern "C"
@@ -191,11 +184,10 @@ static JNINativeMethod methods[] = {
 
 void _Jv_gnu_java_lang_management_VMThreadMXBeanImpl_init(void)
 {
-       utf *u;
-
-       u = utf_new_char("gnu/java/lang/management/VMThreadMXBeanImpl");
+       utf* u = utf_new_char("gnu/java/lang/management/VMThreadMXBeanImpl");
 
-       native_method_register(u, methods, NATIVE_METHODS_COUNT);
+       NativeMethods& nm = VM::get_current()->get_nativemethods();
+       nm.register_methods(u, methods, NATIVE_METHODS_COUNT);
 }