Add SingleMap_Leapfrog
[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, 37) // 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("[insertOrFind] called")
29 TURF_TRACE_DEFINE("[insertOrFind] reserved first cell")
30 TURF_TRACE_DEFINE("[insertOrFind] race to reserve first cell")
31 TURF_TRACE_DEFINE("[insertOrFind] found in first cell")
32 TURF_TRACE_DEFINE("[insertOrFind] race to read hash")
33 TURF_TRACE_DEFINE("[insertOrFind] found in probe chain")
34 TURF_TRACE_DEFINE("[insertOrFind] reserved cell")
35 TURF_TRACE_DEFINE("[insertOrFind] race to reserve cell")
36 TURF_TRACE_DEFINE("[insertOrFind] found outside probe chain")
37 TURF_TRACE_DEFINE("[insertOrFind] found late-arriving cell in same bucket")
38 TURF_TRACE_DEFINE("[insertOrFind] set link on behalf of late-arriving cell")
39 TURF_TRACE_DEFINE("[insertOrFind] 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] redirected while determining table size")
44 TURF_TRACE_DEFINE("[migrateRange] empty cell already redirected")
45 TURF_TRACE_DEFINE("[migrateRange] race to insert key")
46 TURF_TRACE_DEFINE("[migrateRange] race to insert value")
47 TURF_TRACE_DEFINE("[migrateRange] race inserted Redirect")
48 TURF_TRACE_DEFINE("[migrateRange] in-use cell already redirected")
49 TURF_TRACE_DEFINE("[migrateRange] racing update was erase")
50 TURF_TRACE_DEFINE("[migrateRange] race to update migrated value")
51 TURF_TRACE_DEFINE("[TableMigration::run] already ended")
52 TURF_TRACE_DEFINE("[TableMigration::run] detected end flag set")
53 TURF_TRACE_DEFINE("[TableMigration::run] destination overflow")
54 TURF_TRACE_DEFINE("[TableMigration::run] race to set m_overflowTableIndex")
55 TURF_TRACE_DEFINE("[TableMigration::run] out of migration units")
56 TURF_TRACE_DEFINE("[TableMigration::run] not the last worker")
57 TURF_TRACE_DEFINE("[TableMigration::run] a new TableMigration was already started")
58 TURF_TRACE_DEFINE("[TableMigration::run] overflow occured in a small map")
59 TURF_TRACE_DEFINE("[TableMigration::run] doubling subtree size after failure")
60 TURF_TRACE_DEFINE("[TableMigration::run] keeping same subtree size after failure")
61 TURF_TRACE_DEFINE("[FlatTreeMigration::run] already ended")
62 TURF_TRACE_DEFINE_END(Grampa, 37)
63
64 } // namespace details
65 } // namespace junction