[teklib-general] teklib: Exec module: Now uses inline calls internally where poss...
Timm S. Mueller
tmueller at neoscientists.org
Sun Feb 1 14:25:57 CET 2009
details: http://hg.teklib.org/teklib/rev/49bede4a3e31
changeset: 241:49bede4a3e31
user: Timm S. Mueller <tmueller at neoscientists.org>
date: Fri Jan 23 00:07:35 2009 +0100
description:
Exec module: Now uses inline calls internally where possible
diffs (truncated from 2191 to 100 lines):
diff -r 8640109d478e -r 49bede4a3e31 src/exec/exec_api.c
--- a/src/exec/exec_api.c Thu Jan 22 16:59:59 2009 +0100
+++ b/src/exec/exec_api.c Fri Jan 23 00:07:35 2009 +0100
@@ -17,62 +17,59 @@
** Create TEKlib-internal task
*/
-static THOOKENTRY TTAG
-exec_systaskdestroy(struct THook *hook, TAPTR obj, TTAG msg)
+static THOOKENTRY TTAG exec_systaskdestroy(struct THook *hook, TAPTR obj,
+ TTAG msg)
{
if (msg == TMSG_DESTROY)
{
struct TTask *task = obj;
- TEXECBASE *exec = (TEXECBASE *) TGetExecBase(task);
- struct THALBase *hal = exec->texb_HALBase;
-
- THALDestroyThread(hal, &task->tsk_Thread);
- THALLock(hal, &exec->texb_Lock);
+ struct TExecBase *TExecBase = TGetExecBase(task);
+ struct THALBase *THALBase = TExecBase->texb_HALBase;
+ THALDestroyThread(THALBase, &task->tsk_Thread);
+ THALLock(THALBase, &TExecBase->texb_Lock);
TREMOVE((struct TNode *) task);
- THALUnlock(hal, &exec->texb_Lock);
+ THALUnlock(THALBase, &TExecBase->texb_Lock);
TDESTROY(&task->tsk_SyncPort);
TDESTROY(&task->tsk_UserPort);
TDESTROY(&task->tsk_HeapMMU);
- THALDestroyLock(hal, &task->tsk_TaskLock);
- exec_Free(exec, task);
+ THALDestroyLock(THALBase, &task->tsk_TaskLock);
+ TFree(task);
}
-
return 0;
}
-static void
-exec_initsystask(TEXECBASE *exec, struct TTask *task)
+static void exec_initsystask(struct TExecBase *TExecBase, struct TTask *task)
{
- TAPTR hal = exec->texb_HALBase;
+ TAPTR hal = TExecBase->texb_HALBase;
/* special initializations of reserved system tasks */
- if (exec_StrEqual(exec, task->tsk_Handle.thn_Name, TTASKNAME_EXEC))
+ if (TStrEqual(task->tsk_Handle.thn_Name, TTASKNAME_EXEC))
{
/* insert to execbase */
- exec->texb_ExecTask = task;
+ TExecBase->texb_ExecTask = task;
/* the exectask userport will be used for task messages */
- exec->texb_ExecPort = &task->tsk_UserPort;
+ TExecBase->texb_ExecPort = &task->tsk_UserPort;
/* the exectask syncport will be 'abused' for async mod replies */
- exec->texb_ModReply = &task->tsk_SyncPort;
+ TExecBase->texb_ModReply = &task->tsk_SyncPort;
}
- else if (exec_StrEqual(exec, task->tsk_Handle.thn_Name, TTASKNAME_RAMLIB))
+ else if (TStrEqual(task->tsk_Handle.thn_Name, TTASKNAME_RAMLIB))
{
/* insert to execbase */
- exec->texb_IOTask = task;
+ TExecBase->texb_IOTask = task;
}
/* link to task list */
- THALLock(hal, &exec->texb_Lock);
- TAddTail(&exec->texb_TaskList, (struct TNode *) task);
- THALUnlock(hal, &exec->texb_Lock);
+ THALLock(hal, &TExecBase->texb_Lock);
+ TAddTail(&TExecBase->texb_TaskList, (struct TNode *) task);
+ THALUnlock(hal, &TExecBase->texb_Lock);
TDBPRINTF(TDB_TRACE,("added task name: %s\n", task->tsk_Handle.thn_Name));
}
-EXPORT struct TTask *
-exec_CreateSysTask(TEXECBASE *exec, TTASKFUNC func, struct TTagItem *tags)
+EXPORT struct TTask *exec_CreateSysTask(struct TExecBase *TExecBase,
+ TTASKFUNC func, struct TTagItem *tags)
{
- TAPTR hal = exec->texb_HALBase;
+ TAPTR hal = TExecBase->texb_HALBase;
struct TTask *newtask;
TUINT tnlen = 0;
TSTRPTR tname;
@@ -86,21 +83,20 @@
}
/* tasks are messages */
- newtask = exec_AllocMMU(exec, &exec->texb_MsgMMU,
- sizeof(struct TTask) + tnlen);
+ newtask = TAlloc(&TExecBase->texb_MsgMMU, sizeof(struct TTask) + tnlen);
if (newtask)
{
- exec_FillMem(exec, newtask, sizeof(struct TTask), 0);
+ TFillMem(newtask, sizeof(struct TTask), 0);
More information about the teklib-general
mailing list