• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /macosx-10.10.1/tcl-105/tcl84/tcl/generic/

Lines Matching refs:cachePtr

146 static void LockBucket(Cache *cachePtr, int bucket);
147 static void UnlockBucket(Cache *cachePtr, int bucket);
148 static void PutBlocks(Cache *cachePtr, int bucket, int nmove);
149 static int GetBlocks(Cache *cachePtr, int bucket);
186 Cache *cachePtr;
215 cachePtr = TclpGetAllocCache();
216 if (cachePtr == NULL) {
217 cachePtr = calloc(1, sizeof(Cache));
218 if (cachePtr == NULL) {
222 cachePtr->nextPtr = firstCachePtr;
223 firstCachePtr = cachePtr;
225 cachePtr->owner = Tcl_GetCurrentThread();
226 TclpSetAllocCache(cachePtr);
228 return cachePtr;
252 Cache *cachePtr = arg;
261 if (cachePtr->buckets[bucket].nfree > 0) {
262 PutBlocks(cachePtr, bucket, cachePtr->buckets[bucket].nfree);
270 if (cachePtr->nobjs > 0) {
272 MoveObjs(cachePtr, sharedPtr, cachePtr->nobjs);
282 while (*nextPtrPtr != cachePtr) {
285 *nextPtrPtr = cachePtr->nextPtr;
286 cachePtr->nextPtr = NULL;
288 free(cachePtr);
312 Cache *cachePtr;
328 cachePtr = TclpGetAllocCache();
329 if (cachePtr == NULL) {
330 cachePtr = GetCache();
350 cachePtr->nsysalloc += reqsize;
357 if (cachePtr->buckets[bucket].nfree || GetBlocks(cachePtr, bucket)) {
358 blockPtr = cachePtr->buckets[bucket].firstPtr;
359 cachePtr->buckets[bucket].firstPtr = blockPtr->b_next;
360 --cachePtr->buckets[bucket].nfree;
361 ++cachePtr->buckets[bucket].nget;
362 cachePtr->buckets[bucket].nrequest += reqsize;
393 Cache *cachePtr = TclpGetAllocCache();
397 if (cachePtr == NULL) {
398 cachePtr = GetCache();
412 cachePtr->nsysalloc -= blockPtr->b_reqsize;
415 cachePtr->buckets[bucket].nrequest -= blockPtr->b_reqsize;
416 blockPtr->b_next = cachePtr->buckets[bucket].firstPtr;
417 cachePtr->buckets[bucket].firstPtr = blockPtr;
418 ++cachePtr->buckets[bucket].nfree;
419 ++cachePtr->buckets[bucket].nput;
420 if (cachePtr != sharedPtr &&
421 cachePtr->buckets[bucket].nfree > binfo[bucket].maxblocks) {
422 PutBlocks(cachePtr, bucket, binfo[bucket].nmove);
449 Cache *cachePtr;
470 cachePtr = TclpGetAllocCache();
471 if (cachePtr == NULL) {
472 cachePtr = GetCache();
495 cachePtr->buckets[bucket].nrequest -= blockPtr->b_reqsize;
496 cachePtr->buckets[bucket].nrequest += reqsize;
500 cachePtr->nsysalloc -= blockPtr->b_reqsize;
501 cachePtr->nsysalloc += reqsize;
546 register Cache *cachePtr = TclpGetAllocCache();
551 if (cachePtr == NULL) {
552 cachePtr = GetCache();
560 if (cachePtr->nobjs == 0) {
567 MoveObjs(sharedPtr, cachePtr, nmove);
570 if (cachePtr->nobjs == 0) {
571 cachePtr->nobjs = nmove = NOBJALLOC;
578 objPtr->internalRep.otherValuePtr = cachePtr->firstObjPtr;
579 cachePtr->firstObjPtr = objPtr;
588 objPtr = cachePtr->firstObjPtr;
589 cachePtr->firstObjPtr = objPtr->internalRep.otherValuePtr;
590 --cachePtr->nobjs;
616 Cache *cachePtr = TclpGetAllocCache();
618 if (cachePtr == NULL) {
619 cachePtr = GetCache();
626 objPtr->internalRep.otherValuePtr = cachePtr->firstObjPtr;
627 cachePtr->firstObjPtr = objPtr;
628 ++cachePtr->nobjs;
635 if (cachePtr->nobjs > NOBJHIGH) {
637 MoveObjs(cachePtr, sharedPtr, NOBJALLOC);
663 Cache *cachePtr;
668 cachePtr = firstCachePtr;
669 while (cachePtr != NULL) {
671 if (cachePtr == sharedPtr) {
674 sprintf(buf, "thread%d", (int) cachePtr->owner);
680 cachePtr->buckets[n].nfree,
681 cachePtr->buckets[n].nget,
682 cachePtr->buckets[n].nput,
683 cachePtr->buckets[n].nrequest,
684 cachePtr->buckets[n].nlock,
685 cachePtr->buckets[n].nwait);
689 cachePtr = cachePtr->nextPtr;
812 LockBucket(Cache *cachePtr, int bucket)
817 ++cachePtr->buckets[bucket].nwait;
823 ++cachePtr->buckets[bucket].nlock;
829 UnlockBucket(Cache *cachePtr, int bucket)
853 PutBlocks(Cache *cachePtr, int bucket, int nmove)
863 firstPtr = lastPtr = cachePtr->buckets[bucket].firstPtr;
867 cachePtr->buckets[bucket].firstPtr = lastPtr->b_next;
868 cachePtr->buckets[bucket].nfree -= nmove;
875 LockBucket(cachePtr, bucket);
879 UnlockBucket(cachePtr, bucket);
901 GetBlocks(Cache *cachePtr, int bucket)
914 if (cachePtr != sharedPtr && sharedPtr->buckets[bucket].nfree > 0) {
915 LockBucket(cachePtr, bucket);
925 cachePtr->buckets[bucket].firstPtr =
927 cachePtr->buckets[bucket].nfree =
933 cachePtr->buckets[bucket].firstPtr = blockPtr;
935 cachePtr->buckets[bucket].nfree = n;
943 UnlockBucket(cachePtr, bucket);
946 if (cachePtr->buckets[bucket].nfree == 0) {
957 if (cachePtr->buckets[n].nfree > 0) {
959 blockPtr = cachePtr->buckets[n].firstPtr;
960 cachePtr->buckets[n].firstPtr = blockPtr->b_next;
961 --cachePtr->buckets[n].nfree;
983 cachePtr->buckets[bucket].nfree = n;
984 cachePtr->buckets[bucket].firstPtr = blockPtr;