[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