* src/mm/dumpmemory.c (dump_release): Renamed to dumpmemory_release.
[cacao.git] / src / native / vm / gnu / java_lang_VMRuntime.c
index b17cb4a2359476efe2d3f55372f934e48f09dd90..179ec616ff4c4bb64685e7e5f60c27744d9d1682 100644 (file)
@@ -1,9 +1,7 @@
 /* src/native/vm/gnu/java_lang_VMRuntime.c
 
-   Copyright (C) 1996-2005, 2006, 2007 R. Grafl, A. Krall, C. Kruegel,
-   C. Oates, R. Obermaisser, M. Platter, M. Probst, S. Ring,
-   E. Steiner, C. Thalinger, D. Thuernbeck, P. Tomsich, C. Ullrich,
-   J. Wenninger, Institut f. Computersprachen - TU Wien
+   Copyright (C) 1996-2005, 2006, 2007, 2008
+   CACAOVM - Verein zu Foerderung der freien virtuellen Machine CACAO
 
    This file is part of CACAO.
 
@@ -39,8 +37,8 @@
 # include <mach/mach.h>
 #endif
 
+#include "mm/dumpmemory.h"
 #include "mm/gc-common.h"
-#include "mm/memory.h"
 
 #include "native/jni.h"
 #include "native/native.h"
 #include "vm/stringlocal.h"
 #include "vm/vm.h"
 
+#include "vmcore/system.h"
 #include "vmcore/utf8.h"
 
 
-/* this should work on BSD */
-/*
-#if defined(__DARWIN__)
-#include <sys/sysctl.h>
-#endif
-*/
-
-
 /* native methods implemented by this file ************************************/
 
 static JNINativeMethod methods[] = {
@@ -229,42 +220,7 @@ JNIEXPORT void JNICALL Java_java_lang_VMRuntime_traceMethodCalls(JNIEnv *env, jc
  */
 JNIEXPORT int32_t JNICALL Java_java_lang_VMRuntime_availableProcessors(JNIEnv *env, jclass clazz)
 {
-#if defined(_SC_NPROC_ONLN)
-       return (int32_t) sysconf(_SC_NPROC_ONLN);
-
-#elif defined(_SC_NPROCESSORS_ONLN)
-       return (int32_t) sysconf(_SC_NPROCESSORS_ONLN);
-
-#elif defined(__DARWIN__)
-       /* this should work in BSD */
-       /*
-       int ncpu, mib[2], rc;
-       size_t len;
-
-       mib[0] = CTL_HW;
-       mib[1] = HW_NCPU;
-       len = sizeof(ncpu);
-       rc = sysctl(mib, 2, &ncpu, &len, NULL, 0);
-
-       return (int32_t) ncpu;
-       */
-
-       host_basic_info_data_t hinfo;
-       mach_msg_type_number_t hinfo_count = HOST_BASIC_INFO_COUNT;
-       kern_return_t rc;
-
-       rc = host_info(mach_host_self(), HOST_BASIC_INFO,
-                                  (host_info_t) &hinfo, &hinfo_count);
-       if (rc != KERN_SUCCESS) {
-               return -1;
-       }
-
-    return (int32_t) hinfo.avail_cpus;
-
-#else
-       return 1;
-#endif
+       return system_processors_online();
 }
 
 
@@ -297,8 +253,8 @@ JNIEXPORT java_lang_String* JNICALL Java_java_lang_VMRuntime_mapLibraryName(JNIE
        utf           *u;
        char          *buffer;
        int32_t        buffer_len;
-       int32_t        dumpsize;
        java_handle_t *o;
+       int32_t        dumpmarker;
 
        if (libname == NULL) {
                exceptions_throw_nullpointerexception();
@@ -321,7 +277,8 @@ JNIEXPORT java_lang_String* JNICALL Java_java_lang_VMRuntime_mapLibraryName(JNIE
 
        buffer_len += strlen("0");
 
-       dumpsize = dump_size();
+       DMARKER;
+
        buffer = DMNEW(char, buffer_len);
 
        /* generate library name */
@@ -339,7 +296,7 @@ JNIEXPORT java_lang_String* JNICALL Java_java_lang_VMRuntime_mapLibraryName(JNIE
 
        /* release memory */
 
-       dump_release(dumpsize);
+       DRELEASE;
 
        return (java_lang_String *) o;
 }