1 
2 #include "xmlvm.h"
3 #include "java_lang_Runtime.h"
4 
5 
6 //XMLVM_BEGIN_NATIVE_IMPLEMENTATION
7 //XMLVM_END_NATIVE_IMPLEMENTATION
8 
java_lang_Runtime_freeMemory__(JAVA_OBJECT me)9 JAVA_LONG java_lang_Runtime_freeMemory__(JAVA_OBJECT me)
10 {
11     //XMLVM_BEGIN_NATIVE[java_lang_Runtime_freeMemory__]
12 #ifndef XMLVM_NO_GC
13     return GC_get_free_bytes();
14 #else
15     return 0L;
16 #endif
17     //XMLVM_END_NATIVE
18 }
19 
java_lang_Runtime_gc__(JAVA_OBJECT me)20 void java_lang_Runtime_gc__(JAVA_OBJECT me)
21 {
22     //XMLVM_BEGIN_NATIVE[java_lang_Runtime_gc__]
23 #ifndef XMLVM_NO_GC
24     GC_gcollect();
25 #endif
26     //XMLVM_END_NATIVE
27 }
28 
java_lang_Runtime_totalMemory__(JAVA_OBJECT me)29 JAVA_LONG java_lang_Runtime_totalMemory__(JAVA_OBJECT me)
30 {
31     //XMLVM_BEGIN_NATIVE[java_lang_Runtime_totalMemory__]
32 #ifndef XMLVM_NO_GC
33     return GC_get_heap_size();
34 #else
35     return 0L;
36 #endif
37     //XMLVM_END_NATIVE
38 }
39 
40 
xmlvm_init_native_java_lang_Runtime()41 void xmlvm_init_native_java_lang_Runtime()
42 {
43     //XMLVM_BEGIN_NATIVE_IMPLEMENTATION_INIT
44     //XMLVM_END_NATIVE_IMPLEMENTATION_INIT
45 #ifdef XMLVM_VTABLE_IDX_java_lang_Runtime_freeMemory__
46     __TIB_java_lang_Runtime.vtable[XMLVM_VTABLE_IDX_java_lang_Runtime_freeMemory__] =
47         (VTABLE_PTR) java_lang_Runtime_freeMemory__;
48 #endif
49 #ifdef XMLVM_VTABLE_IDX_java_lang_Runtime_gc__
50     __TIB_java_lang_Runtime.vtable[XMLVM_VTABLE_IDX_java_lang_Runtime_gc__] =
51         (VTABLE_PTR) java_lang_Runtime_gc__;
52 #endif
53 #ifdef XMLVM_VTABLE_IDX_java_lang_Runtime_totalMemory__
54     __TIB_java_lang_Runtime.vtable[XMLVM_VTABLE_IDX_java_lang_Runtime_totalMemory__] =
55         (VTABLE_PTR) java_lang_Runtime_totalMemory__;
56 #endif
57 }
58