mirror of
https://github.com/corda/corda.git
synced 2025-02-01 16:58:27 +00:00
Merge pull request #110 from dscho/memory
Implement Runtime#{free,total}Memory()
This commit is contained in:
commit
bb18637f13
@ -59,6 +59,7 @@ class Heap: public Allocator {
|
|||||||
|
|
||||||
virtual void setClient(Client* client) = 0;
|
virtual void setClient(Client* client) = 0;
|
||||||
virtual void setImmortalHeap(uintptr_t* start, unsigned sizeInWords) = 0;
|
virtual void setImmortalHeap(uintptr_t* start, unsigned sizeInWords) = 0;
|
||||||
|
virtual unsigned remaining() = 0;
|
||||||
virtual unsigned limit() = 0;
|
virtual unsigned limit() = 0;
|
||||||
virtual bool limitExceeded(int pendingAllocation = 0) = 0;
|
virtual bool limitExceeded(int pendingAllocation = 0) = 0;
|
||||||
virtual void collect(CollectionType type, unsigned footprint,
|
virtual void collect(CollectionType type, unsigned footprint,
|
||||||
|
@ -593,18 +593,16 @@ Avian_java_lang_Runtime_gc
|
|||||||
|
|
||||||
extern "C" AVIAN_EXPORT int64_t JNICALL
|
extern "C" AVIAN_EXPORT int64_t JNICALL
|
||||||
Avian_java_lang_Runtime_freeMemory
|
Avian_java_lang_Runtime_freeMemory
|
||||||
(Thread*, object, uintptr_t*)
|
(Thread* t, object, uintptr_t*)
|
||||||
{
|
{
|
||||||
// todo
|
return t->m->heap->remaining();
|
||||||
return 0;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
extern "C" AVIAN_EXPORT int64_t JNICALL
|
extern "C" AVIAN_EXPORT int64_t JNICALL
|
||||||
Avian_java_lang_Runtime_totalMemory
|
Avian_java_lang_Runtime_totalMemory
|
||||||
(Thread*, object, uintptr_t*)
|
(Thread* t, object, uintptr_t*)
|
||||||
{
|
{
|
||||||
// todo
|
return t->m->heap->limit();
|
||||||
return 0;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
extern "C" AVIAN_EXPORT void JNICALL
|
extern "C" AVIAN_EXPORT void JNICALL
|
||||||
|
@ -1888,6 +1888,10 @@ class MyHeap: public Heap {
|
|||||||
c.immortalHeapEnd = start + sizeInWords;
|
c.immortalHeapEnd = start + sizeInWords;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
virtual unsigned remaining() {
|
||||||
|
return c.limit - c.count;
|
||||||
|
}
|
||||||
|
|
||||||
virtual unsigned limit() {
|
virtual unsigned limit() {
|
||||||
return c.limit;
|
return c.limit;
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user