1950a9d23c0a396e8de43216d188f13c3193a51c
[junction.git] / junction / details / Grampa.cpp
1 /*------------------------------------------------------------------------
2   Junction: Concurrent data structures in C++
3   Copyright (c) 2016 Jeff Preshing
4
5   Distributed under the Simplified BSD License.
6   Original location: https://github.com/preshing/junction
7
8   This software is distributed WITHOUT ANY WARRANTY; without even the
9   implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
10   See the LICENSE file for more information.
11 ------------------------------------------------------------------------*/
12
13 #include <junction/Core.h>
14 #include <junction/details/Grampa.h>
15 #include <turf/Heap.h>
16
17 namespace junction {
18 namespace details {
19
20 #if JUNCTION_TRACK_GRAMPA_STATS
21 GrampaStats GrampaStats::Instance;
22 #endif
23
24 TURF_TRACE_DEFINE_BEGIN(Grampa, 38) // autogenerated by TidySource.py
25 TURF_TRACE_DEFINE("[find] called")
26 TURF_TRACE_DEFINE("[find] found existing cell optimistically")
27 TURF_TRACE_DEFINE("[find] found existing cell")
28 TURF_TRACE_DEFINE("[insert] called")
29 TURF_TRACE_DEFINE("[insert] reserved first cell")
30 TURF_TRACE_DEFINE("[insert] race to reserve first cell")
31 TURF_TRACE_DEFINE("[insert] found in first cell")
32 TURF_TRACE_DEFINE("[insert] race to read hash")
33 TURF_TRACE_DEFINE("[insert] found in probe chain")
34 TURF_TRACE_DEFINE("[insert] reserved cell")
35 TURF_TRACE_DEFINE("[insert] race to reserve cell")
36 TURF_TRACE_DEFINE("[insert] found outside probe chain")
37 TURF_TRACE_DEFINE("[insert] found late-arriving cell in same bucket")
38 TURF_TRACE_DEFINE("[insert] set link on behalf of late-arriving cell")
39 TURF_TRACE_DEFINE("[insert] overflow")
40 TURF_TRACE_DEFINE("[beginTableMigrationToSize] called")
41 TURF_TRACE_DEFINE("[beginTableMigrationToSize] new migration already exists")
42 TURF_TRACE_DEFINE("[beginTableMigrationToSize] new migration already exists (double-checked)")
43 TURF_TRACE_DEFINE("[beginTableMigration] forced to double")
44 TURF_TRACE_DEFINE("[beginTableMigration] redirected while determining table size")
45 TURF_TRACE_DEFINE("[migrateRange] empty cell already redirected")
46 TURF_TRACE_DEFINE("[migrateRange] race to insert key")
47 TURF_TRACE_DEFINE("[migrateRange] race to insert value")
48 TURF_TRACE_DEFINE("[migrateRange] race inserted Redirect")
49 TURF_TRACE_DEFINE("[migrateRange] in-use cell already redirected")
50 TURF_TRACE_DEFINE("[migrateRange] racing update was erase")
51 TURF_TRACE_DEFINE("[migrateRange] race to update migrated value")
52 TURF_TRACE_DEFINE("[TableMigration::run] already ended")
53 TURF_TRACE_DEFINE("[TableMigration::run] detected end flag set")
54 TURF_TRACE_DEFINE("[TableMigration::run] destination overflow")
55 TURF_TRACE_DEFINE("[TableMigration::run] race to set m_overflowTableIndex")
56 TURF_TRACE_DEFINE("[TableMigration::run] out of migration units")
57 TURF_TRACE_DEFINE("[TableMigration::run] not the last worker")
58 TURF_TRACE_DEFINE("[TableMigration::run] a new TableMigration was already started")
59 TURF_TRACE_DEFINE("[TableMigration::run] overflow occured in a small map")
60 TURF_TRACE_DEFINE("[TableMigration::run] doubling subtree size after failure")
61 TURF_TRACE_DEFINE("[TableMigration::run] keeping same subtree size after failure")
62 TURF_TRACE_DEFINE("[FlatTreeMigration::run] already ended")
63 TURF_TRACE_DEFINE_END(Grampa, 38)
64
65 } // namespace details
66 } // namespace junction