/* 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.
# 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[] = {
*/
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();
}
utf *u;
char *buffer;
int32_t buffer_len;
- int32_t dumpsize;
java_handle_t *o;
+ int32_t dumpmarker;
if (libname == NULL) {
exceptions_throw_nullpointerexception();
buffer_len += strlen("0");
- dumpsize = dump_size();
+ DMARKER;
+
buffer = DMNEW(char, buffer_len);
/* generate library name */
/* release memory */
- dump_release(dumpsize);
+ DRELEASE;
return (java_lang_String *) o;
}