Mercurial > hg > Game > Cerium
comparison TaskManager/kernel/ppe/TaskList.h @ 1466:cb57420a8219 draft
TaskList on going...
author | Shinji KONO <kono@ie.u-ryukyu.ac.jp> |
---|---|
date | Sun, 15 Jul 2012 13:36:55 +0900 |
parents | 3f2230d79eba |
children | a7895ab4d0e3 |
comparison
equal
deleted
inserted
replaced
1465:fc5b23108608 | 1466:cb57420a8219 |
---|---|
10 | 10 |
11 class TaskList { // 1024 byte | 11 class TaskList { // 1024 byte |
12 public: | 12 public: |
13 BASE_NEW_DELETE(TaskList); | 13 BASE_NEW_DELETE(TaskList); |
14 | 14 |
15 Task *lastTask; // 4 byte | 15 long lastTask; // 4 byte |
16 TaskList *next; // 4 byte | 16 TaskList *next; // 4 byte |
17 TaskList *prev; // 4 byte | 17 TaskList *prev; // 4 byte |
18 TaskList *waiter; // 4 byte | 18 TaskList *waiter; // 4 byte |
19 HTask *self; // 4 byte | 19 HTask *self; // 4 byte |
20 long dummy[3]; // 16 byte | 20 long dummy[3]; // 16 byte |
21 Task tasks[TASK_MAX_SIZE]; // 32*TASK_MAX_SIZE | 21 Task tasks[TASK_MAX_SIZE]; // 32*TASK_MAX_SIZE |
22 | 22 |
23 TaskPtr last() { return lastTask; } | 23 TaskPtr last() { return (TaskPtr)(((memaddr)tasks)+lastTask); } |
24 void init() { lastTask = &tasks[TASK_MAX_SIZE]; waiter=this; } | 24 void set_last(Task *t) { lastTask = ((memaddr)t) - ((memaddr)tasks); } |
25 void init() { lastTask = ((memaddr)&tasks[TASK_MAX_SIZE])-(memaddr)(tasks); waiter=this; } | |
25 void initOnce() { } | 26 void initOnce() { } |
26 void freeOnce() {} | 27 void freeOnce() {} |
27 | 28 |
28 } ; | 29 } ; |
29 | 30 |