diff options
Diffstat (limited to 'tools/jprof/intcnt.cpp')
-rw-r--r-- | tools/jprof/intcnt.cpp | 71 |
1 files changed, 0 insertions, 71 deletions
diff --git a/tools/jprof/intcnt.cpp b/tools/jprof/intcnt.cpp deleted file mode 100644 index d0f7e1f33..000000000 --- a/tools/jprof/intcnt.cpp +++ /dev/null @@ -1,71 +0,0 @@ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - -#include "intcnt.h" - -IntCount::IntCount() : numInts(0), iPair(nullptr) { } -IntCount::~IntCount() { delete [] iPair;} -int IntCount::getSize() {return numInts;} -int IntCount::getCount(int pos) {return iPair[pos].cnt;} -int IntCount::getIndex(int pos) {return iPair[pos].idx;} - -void IntCount::clear() -{ - delete[] iPair; - iPair = new IntPair[0]; - numInts = 0; -} - -int IntCount::countAdd(int index, int increment) -{ - if(numInts) { - // Do a binary search to find the element - int divPoint = 0; - - if(index>iPair[numInts-1].idx) { - divPoint = numInts; - } else if(index<iPair[0].idx) { - divPoint = 0; - } else { - int low=0, high=numInts-1; - int mid = (low+high)/2; - while(1) { - mid = (low+high)/2; - - if(index<iPair[mid].idx) { - high = mid; - } else if(index>iPair[mid].idx) { - if(mid<numInts-1 && index<iPair[mid+1].idx) { - divPoint = mid+1; - break; - } else { - low = mid+1; - } - } else if(index==iPair[mid].idx) { - return iPair[mid].cnt += increment; - } - } - } - - int i; - IntPair *tpair = new IntPair[numInts+1]; - for(i=0; i<divPoint; i++) { - tpair[i] = iPair[i]; - } - for(i=divPoint; i<numInts; i++) { - tpair[i+1] = iPair[i]; - } - ++numInts; - delete [] iPair; - iPair = tpair; - iPair[divPoint].idx = index; - iPair[divPoint].cnt = increment; - return increment; - } else { - iPair = new IntPair[1]; - numInts = 1; - iPair[0].idx = index; - return iPair[0].cnt = increment; - } -} |