Mercurial > hg > Game > Cerium
changeset 887:4860272b2f47 draft
remove run variable to avoid SPU compiler bug from SchedTaskArray::exec().
author | Shinji KONO <kono@ie.u-ryukyu.ac.jp> |
---|---|
date | Wed, 14 Jul 2010 20:40:33 +0900 |
parents | fb6f9a0aa587 |
children | b6c45005a3bc |
files | TaskManager/Makefile.def TaskManager/kernel/schedule/SchedTaskArray.cc TaskManager/kernel/schedule/Scheduler.h example/Bulk/Makefile.def |
diffstat | 4 files changed, 4 insertions(+), 5 deletions(-) [+] |
line wrap: on
line diff
--- a/TaskManager/Makefile.def Tue Jul 13 18:23:22 2010 +0900 +++ b/TaskManager/Makefile.def Wed Jul 14 20:40:33 2010 +0900 @@ -30,7 +30,7 @@ ABIBIT = 32 #OPT = -O9 -OPT = -g -DTASK_LIST_MAIL +OPT = -O9 -g -DTASK_LIST_MAIL CC = g++ CFLAGS = -Wall `sdl-config --cflags` -m$(ABIBIT) $(OPT)
--- a/TaskManager/kernel/schedule/SchedTaskArray.cc Tue Jul 13 18:23:22 2010 +0900 +++ b/TaskManager/kernel/schedule/SchedTaskArray.cc Wed Jul 14 20:40:33 2010 +0900 @@ -105,7 +105,6 @@ SchedTaskArray::exec() { task_list[atask->command].wait(scheduler,atask->command); - TaskObjectRun run = task_list[atask->command].run; if (atask->outData_count > 0) { // allocate write buffer outListData.length = atask->outData_count; @@ -117,7 +116,7 @@ writebuf = manager->allocate(outListData.size); } scheduler->dma_wait(DMA_READ); - (*run)(this, readbuf, writebuf); + task_list[atask->command].run(this, readbuf, writebuf); free(readbuf); // 書き込む領域がなければ無視
--- a/TaskManager/kernel/schedule/Scheduler.h Tue Jul 13 18:23:22 2010 +0900 +++ b/TaskManager/kernel/schedule/Scheduler.h Wed Jul 14 20:40:33 2010 +0900 @@ -31,7 +31,7 @@ // It is a pointer to an object creation function // 大きいので、SPEには置かない方が本当は良い... // get_segment で取って来るのが、おそらくは正しい。 -typedef struct { +typedef struct task_object { TaskObjectRun run; memaddr location; // location address in a.out memaddr end;