diff options
author | jan.nijtmans <nijtmans@users.sourceforge.net> | 2020-02-28 12:46:42 (GMT) |
---|---|---|
committer | jan.nijtmans <nijtmans@users.sourceforge.net> | 2020-02-28 12:46:42 (GMT) |
commit | 4af90e27e5e22978b56d6cb5d0d1ecd90af0f48f (patch) | |
tree | d5db4ca8a1fecbd63d9e72730fad2f404367daff /generic/tclThreadAlloc.c | |
parent | 63994a73e3f641451b26f48f697b6a069863751c (diff) | |
parent | 52e543c5691a60c3ef802fecf1ae08e7efcf19b7 (diff) | |
download | tcl-4af90e27e5e22978b56d6cb5d0d1ecd90af0f48f.zip tcl-4af90e27e5e22978b56d6cb5d0d1ecd90af0f48f.tar.gz tcl-4af90e27e5e22978b56d6cb5d0d1ecd90af0f48f.tar.bz2 |
Merge 8.7
Diffstat (limited to 'generic/tclThreadAlloc.c')
-rw-r--r-- | generic/tclThreadAlloc.c | 34 |
1 files changed, 18 insertions, 16 deletions
diff --git a/generic/tclThreadAlloc.c b/generic/tclThreadAlloc.c index c2a94f6..fda42f8 100644 --- a/generic/tclThreadAlloc.c +++ b/generic/tclThreadAlloc.c @@ -134,7 +134,7 @@ static void LockBucket(Cache *cachePtr, int bucket); static void UnlockBucket(Cache *cachePtr, int bucket); static void PutBlocks(Cache *cachePtr, int bucket, int numMove); static int GetBlocks(Cache *cachePtr, int bucket); -static Block * Ptr2Block(char *ptr); +static Block * Ptr2Block(void *ptr); static char * Block2Ptr(Block *blockPtr, int bucket, unsigned int reqSize); static void MoveObjs(Cache *fromPtr, Cache *toPtr, int numMove); static void PutObjs(Cache *fromPtr, int numMove); @@ -162,7 +162,7 @@ static __thread Cache *tcachePtr; #else # define GETCACHE(cachePtr) \ do { \ - (cachePtr) = TclpGetAllocCache(); \ + (cachePtr) = (Cache*)TclpGetAllocCache(); \ if ((cachePtr) == NULL) { \ (cachePtr) = GetCache(); \ } \ @@ -209,9 +209,9 @@ GetCache(void) * Get this thread's cache, allocating if necessary. */ - cachePtr = TclpGetAllocCache(); + cachePtr = (Cache*)TclpGetAllocCache(); if (cachePtr == NULL) { - cachePtr = TclpSysAlloc(sizeof(Cache)); + cachePtr = (Cache*)TclpSysAlloc(sizeof(Cache)); if (cachePtr == NULL) { Tcl_Panic("alloc: could not allocate new cache"); } @@ -246,7 +246,7 @@ void TclFreeAllocCache( void *arg) { - Cache *cachePtr = arg; + Cache *cachePtr = (Cache*)arg; Cache **nextPtrPtr; unsigned int bucket; @@ -324,7 +324,7 @@ TclpAlloc( #endif if (size > MAXALLOC) { bucket = NBUCKETS; - blockPtr = TclpSysAlloc(size); + blockPtr = (Block *)TclpSysAlloc(size); if (blockPtr != NULL) { cachePtr->totalAssigned += reqSize; } @@ -465,7 +465,7 @@ TclpRealloc( } else if (size > MAXALLOC) { cachePtr->totalAssigned -= blockPtr->blockReqSize; cachePtr->totalAssigned += reqSize; - blockPtr = TclpSysRealloc(blockPtr, size); + blockPtr = (Block*)TclpSysRealloc(blockPtr, size); if (blockPtr == NULL) { return NULL; } @@ -484,7 +484,7 @@ TclpRealloc( memcpy(newPtr, ptr, reqSize); TclpFree(ptr); } - return newPtr; + return (char *)newPtr; } /* @@ -537,7 +537,7 @@ TclThreadAllocObj(void) Tcl_Obj *newObjsPtr; cachePtr->numObjects = numMove = NOBJALLOC; - newObjsPtr = TclpSysAlloc(sizeof(Tcl_Obj) * numMove); + newObjsPtr = (Tcl_Obj *)TclpSysAlloc(sizeof(Tcl_Obj) * numMove); if (newObjsPtr == NULL) { Tcl_Panic("alloc: could not allocate %d new objects", numMove); } @@ -556,7 +556,7 @@ TclThreadAllocObj(void) */ objPtr = cachePtr->firstObjPtr; - cachePtr->firstObjPtr = objPtr->internalRep.twoPtrValue.ptr1; + cachePtr->firstObjPtr = (Tcl_Obj *)objPtr->internalRep.twoPtrValue.ptr1; cachePtr->numObjects--; return objPtr; } @@ -695,9 +695,9 @@ MoveObjs( */ while (--numMove) { - objPtr = objPtr->internalRep.twoPtrValue.ptr1; + objPtr = (Tcl_Obj *)objPtr->internalRep.twoPtrValue.ptr1; } - fromPtr->firstObjPtr = objPtr->internalRep.twoPtrValue.ptr1; + fromPtr->firstObjPtr = (Tcl_Obj *)objPtr->internalRep.twoPtrValue.ptr1; /* * Move all objects as a block - they are already linked to each other, we @@ -740,7 +740,7 @@ PutObjs( } else { do { lastPtr = firstPtr; - firstPtr = firstPtr->internalRep.twoPtrValue.ptr1; + firstPtr = (Tcl_Obj *)firstPtr->internalRep.twoPtrValue.ptr1; } while (--keep > 0); lastPtr->internalRep.twoPtrValue.ptr1 = NULL; } @@ -798,7 +798,7 @@ Block2Ptr( static Block * Ptr2Block( - char *ptr) + void *ptr) { Block *blockPtr; @@ -849,6 +849,8 @@ UnlockBucket( Cache *cachePtr, int bucket) { + (void)cachePtr; + Tcl_MutexUnlock(bucketInfo[bucket].lockPtr); } @@ -1006,7 +1008,7 @@ GetBlocks( if (blockPtr == NULL) { size = MAXALLOC; - blockPtr = TclpSysAlloc(size); + blockPtr = (Block*)TclpSysAlloc(size); if (blockPtr == NULL) { return 0; } @@ -1121,7 +1123,7 @@ TclFinalizeThreadAlloc(void) void TclFinalizeThreadAllocThread(void) { - Cache *cachePtr = TclpGetAllocCache(); + Cache *cachePtr = (Cache *)TclpGetAllocCache(); if (cachePtr != NULL) { TclpFreeAllocCache(cachePtr); } |