From c9ed392ace7d7f1118a88cd2e682f356aa5144ee Mon Sep 17 00:00:00 2001 From: Ian Rogers Date: Wed, 4 Mar 2009 23:02:36 +0000 Subject: [PATCH] Switch use of malloc/free to sysMalloc/sysFree. Harmony build fix. --- build.xml | 4 +++- tools/bootloader/RunBootImage.C | 5 +---- tools/bootloader/sys.h | 2 ++ tools/bootloader/sysMemory.C | 5 +++-- tools/bootloader/sysThread.C | 18 +++++++++--------- 5 files changed, 18 insertions(+), 16 deletions(-) diff --git a/build.xml b/build.xml index 25b750bfa..e864cb857 100644 --- a/build.xml +++ b/build.xml @@ -1620,7 +1620,7 @@ Check to make sure all required properties are specified. This includes properti - + @@ -1649,6 +1649,7 @@ Check to make sure all required properties are specified. This includes properti + @@ -1664,6 +1665,7 @@ Check to make sure all required properties are specified. This includes properti + diff --git a/tools/bootloader/RunBootImage.C b/tools/bootloader/RunBootImage.C index 1083e8105..bc88ca917 100644 --- a/tools/bootloader/RunBootImage.C +++ b/tools/bootloader/RunBootImage.C @@ -40,14 +40,11 @@ #include "RunBootImage.h" /* definitions created during the build */ #include "sys.h" #include /* isspace */ +#include /* for strtol errors */ #include #include /* strcmp, ... */ #include /* INT_MAX, ... */ -#ifndef RVM_FOR_HARMONY -#include -#endif - uint64_t initialHeapSize; /* Declared in bootImageRunner.h */ uint64_t maximumHeapSize; /* Declared in bootImageRunner.h */ diff --git a/tools/bootloader/sys.h b/tools/bootloader/sys.h index a8fbcdf51..16fe6fb25 100644 --- a/tools/bootloader/sys.h +++ b/tools/bootloader/sys.h @@ -87,5 +87,7 @@ extern char *Me; EXTERNAL void findMappable(); EXTERNAL long long sysNanoTime(); EXTERNAL void sysExit(int) NORETURN; +EXTERNAL void* sysMalloc(int length); +EXTERNAL void sysFree(void *location); #endif // RVM_SYSCALL_DEFINITIONS diff --git a/tools/bootloader/sysMemory.C b/tools/bootloader/sysMemory.C index ae9799597..f95216f40 100644 --- a/tools/bootloader/sysMemory.C +++ b/tools/bootloader/sysMemory.C @@ -261,7 +261,7 @@ EXTERNAL jboolean sysMemoryFree(char *start, size_t length) SYS_START(); TRACE_PRINTF("%s: sysMemoryFree %p %d\n", Me, start, length); #ifdef RVM_FOR_HARMONY - if (hyvmem_free_memory(start, length) == 0) { + if (hyvmem_free_memory(start, length, NULL) == 0) { return JNI_TRUE; } else { return JNI_FALSE; @@ -376,11 +376,12 @@ EXTERNAL void findMappable() int granularity = 1 << 22; // every 4 megabytes int max = (1 << 30) / (granularity >> 2); int pageSize = sysGetPageSize(); + SYS_START(); for (int i=0; imutex, NULL); pthread_cond_init(&monitor->cond, NULL); #endif @@ -599,7 +599,7 @@ EXTERNAL void sysMonitorDestroy(Address _monitor) vmmonitor_t *monitor = (vmmonitor_t*)_monitor; pthread_mutex_destroy(&monitor->mutex); pthread_cond_destroy(&monitor->cond); - free(monitor); + sysFree(monitor); #endif }