summaryrefslogtreecommitdiffstats
path: root/tools/jprof/intcnt.h
diff options
context:
space:
mode:
Diffstat (limited to 'tools/jprof/intcnt.h')
-rw-r--r--tools/jprof/intcnt.h38
1 files changed, 38 insertions, 0 deletions
diff --git a/tools/jprof/intcnt.h b/tools/jprof/intcnt.h
new file mode 100644
index 000000000..3c009eac2
--- /dev/null
+++ b/tools/jprof/intcnt.h
@@ -0,0 +1,38 @@
+/* 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/. */
+
+#ifndef INTCNT_H
+#define INTCNT_H
+
+class IntCount
+{
+public:
+ IntCount();
+ ~IntCount();
+ void clear();
+ int countAdd(int index, int increment=1);
+ int countGet(int index);
+ int getSize();
+ int getCount(int pos);
+ int getIndex(int pos);
+
+ IntCount(const IntCount&old)
+ {
+ numInts = old.numInts;
+ if (numInts > 0) {
+ iPair = new IntPair[numInts];
+ for (int i = 0; i < numInts; i++) {
+ iPair[i] = old.iPair[i];
+ }
+ } else {
+ iPair = nullptr;
+ }
+ }
+private:
+
+ int numInts;
+ struct IntPair{int idx; int cnt;} *iPair;
+};
+
+#endif