From 17ba18c731fdb0b1e8b441ec4b40d935db1d05c0 Mon Sep 17 00:00:00 2001 From: obarthel Date: Sun, 4 Dec 2016 11:06:50 +0100 Subject: [PATCH] Added code which temporarily disables profiling --- library/amiga_dotimer.c | 8 +++--- library/stdlib_free.c | 43 ++++++++++++++++++++---------- library/stdlib_free_unused_slabs.c | 2 ++ 3 files changed, 35 insertions(+), 18 deletions(-) diff --git a/library/amiga_dotimer.c b/library/amiga_dotimer.c index 9fb4006..ac38f1e 100644 --- a/library/amiga_dotimer.c +++ b/library/amiga_dotimer.c @@ -79,6 +79,8 @@ DoTimer(struct timeval *tv,LONG unit,LONG command) struct MsgPort * mp; LONG error; + PROFILE_OFF(); + assert( tv != NULL ); #if defined(__amigaos4__) @@ -129,14 +131,10 @@ DoTimer(struct timeval *tv,LONG unit,LONG command) tr->tr_time.tv_secs = tv->tv_secs; tr->tr_time.tv_micro = tv->tv_micro; - PROFILE_OFF(); - SetSignal(0,(1UL << mp->mp_SigBit)); error = DoIO((struct IORequest *)tr); - PROFILE_ON(); - tv->tv_secs = tr->tr_time.tv_secs; tv->tv_micro = tr->tr_time.tv_micro; @@ -161,5 +159,7 @@ DoTimer(struct timeval *tv,LONG unit,LONG command) } #endif /* __amigaos4__ */ + PROFILE_ON(); + return(error); } diff --git a/library/stdlib_free.c b/library/stdlib_free.c index 5bac7cb..bb7f5b4 100644 --- a/library/stdlib_free.c +++ b/library/stdlib_free.c @@ -374,44 +374,57 @@ remove_and_free_memory_node(struct MemoryNode * mn) #if defined(__USE_SLAB_ALLOCATOR) { /* Are we using the slab allocator? */ - if (__slab_data.sd_InUse) + if(__slab_data.sd_InUse) { __slab_free(mn,allocation_size); } - else if (__memory_pool != NULL) - { - FreePooled(__memory_pool,mn,allocation_size); - } else { - #if defined(__MEM_DEBUG) + if(__memory_pool != NULL) { - FreeMem(mn,allocation_size); + PROFILE_OFF(); + FreePooled(__memory_pool,mn,allocation_size); + PROFILE_ON(); } - #else + else { - struct MinNode * mln = (struct MinNode *)mn; + #if defined(__MEM_DEBUG) + { + PROFILE_OFF(); + FreeMem(mn,allocation_size); + PROFILE_ON(); + } + #else + { + struct MinNode * mln = (struct MinNode *)mn; - mln--; + mln--; - Remove((struct Node *)mln); + Remove((struct Node *)mln); - FreeMem(mln,sizeof(*mln) + allocation_size); + PROFILE_OFF(); + FreeMem(mln,sizeof(*mln) + allocation_size); + PROFILE_ON(); + } + #endif /* __MEM_DEBUG */ } - #endif /* __MEM_DEBUG */ } } #else { - if (__memory_pool != NULL) + if(__memory_pool != NULL) { + PROFILE_OFF(); FreePooled(__memory_pool,mn,allocation_size); + PROFILE_ON(); } else { #if defined(__MEM_DEBUG) { + PROFILE_OFF(); FreeMem(mn,allocation_size); + PROFILE_ON(); } #else { @@ -421,7 +434,9 @@ remove_and_free_memory_node(struct MemoryNode * mn) Remove((struct Node *)mln); + PROFILE_OFF(); FreeMem(mln,sizeof(*mln) + allocation_size); + PROFILE_ON(); } #endif /* __MEM_DEBUG */ } diff --git a/library/stdlib_free_unused_slabs.c b/library/stdlib_free_unused_slabs.c index 39432ec..0246d4a 100644 --- a/library/stdlib_free_unused_slabs.c +++ b/library/stdlib_free_unused_slabs.c @@ -72,7 +72,9 @@ __free_unused_slabs(void) /* Unlink from list of slabs of the same size. */ Remove((struct Node *)sn); + PROFILE_OFF(); FreeVec(sn); + PROFILE_ON(); } __memory_unlock();