From e435e4bb3c0744acf5b36c6e441d309d10af1257 Mon Sep 17 00:00:00 2001 From: Pixel Date: Thu, 17 Nov 2011 08:54:14 -0800 Subject: Introducing the fact we need a more efficient stack allocator, and that it's to be performed from the task manager. --- includes/Task.h | 3 ++- includes/TaskMan.h | 2 ++ 2 files changed, 4 insertions(+), 1 deletion(-) (limited to 'includes') diff --git a/includes/Task.h b/includes/Task.h index 9244347..5865831 100644 --- a/includes/Task.h +++ b/includes/Task.h @@ -135,8 +135,9 @@ class Task { } TaskMan * getMyTaskMan() { return m_taskMan; } private: - size_t stackSize() { return 128 * 1024; } + static size_t stackSize() { return 64 * 1024; } void setup(TaskMan * taskMan); + static bool needsStacks(); void switchTo(); static void CALLBACK coroutineTrampoline(void *); void coroutine(); diff --git a/includes/TaskMan.h b/includes/TaskMan.h index 6d005ef..b944f09 100644 --- a/includes/TaskMan.h +++ b/includes/TaskMan.h @@ -35,6 +35,8 @@ class TaskMan { void stopMe() { m_stopped = true; } private: static void registerTask(Task * t, Task * stick); + void * getStack(); + void freeStack(void * stack); void addToPending(Task * t); #ifndef _WIN32 coro_context m_returnContext; -- cgit v1.2.3