move Runtime.freeMemory and totalMemory to builtin.cpp

This allows them to be shared between the Avian and Android class
library builds.

This commit also disables the URL test in Misc.java on Android, since
it's known to fail, and we still want to know whether the other tests
pass.
This commit is contained in:
Joel Dice 2014-05-10 18:52:41 -06:00
parent 84d97fb34c
commit 0800508b4e
3 changed files with 25 additions and 16 deletions

View File

@ -302,6 +302,20 @@ Avian_java_lang_Runtime_exit
t->m->system->exit(arguments[1]);
}
extern "C" AVIAN_EXPORT int64_t JNICALL
Avian_java_lang_Runtime_freeMemory
(Thread* t, object, uintptr_t*)
{
return t->m->heap->remaining();
}
extern "C" AVIAN_EXPORT int64_t JNICALL
Avian_java_lang_Runtime_totalMemory
(Thread* t, object, uintptr_t*)
{
return t->m->heap->limit();
}
extern "C" AVIAN_EXPORT int64_t JNICALL
Avian_avian_avianvmresource_Handler_00024ResourceInputStream_getContentLength
(Thread* t, object, uintptr_t* arguments)

View File

@ -571,20 +571,6 @@ Avian_java_lang_Runtime_gc
collect(t, Heap::MajorCollection);
}
extern "C" AVIAN_EXPORT int64_t JNICALL
Avian_java_lang_Runtime_freeMemory
(Thread* t, object, uintptr_t*)
{
return t->m->heap->remaining();
}
extern "C" AVIAN_EXPORT int64_t JNICALL
Avian_java_lang_Runtime_totalMemory
(Thread* t, object, uintptr_t*)
{
return t->m->heap->limit();
}
extern "C" AVIAN_EXPORT void JNICALL
Avian_java_lang_Runtime_addShutdownHook
(Thread* t, object, uintptr_t* arguments)

View File

@ -298,8 +298,14 @@ public class Misc {
throw new RuntimeException(e);
}
expect(new URL("http://oss.readytalk.com")
.getHost().equals("oss.readytalk.com"));
// as of this writing, we don't support URLs on Android, since it
// pulls in a third-party library we don't include:
if (! "http://www.android.com/".equals
(System.getProperty("java.vendor.url")))
{
expect(new URL("http://oss.readytalk.com")
.getHost().equals("oss.readytalk.com"));
}
expect(java.util.Arrays.equals
(new byte[] { 0, 0, 0, 0 },
@ -336,6 +342,9 @@ public class Misc {
expect(System.getProperty("buzzy.buzzy.bim.bam").equals
("yippy yappy yin yang"));
// just test that it's there; don't care what it returns:
Runtime.getRuntime().totalMemory();
}
protected class Protected { }