3a7011e688ac4628f0f8f91273c09c8723586e78
[junction.git] / junction / details / LeapFrog.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/LeapFrog.h>
15 #include <turf/Heap.h>
16
17 namespace junction {
18 namespace details {
19
20 TURF_TRACE_DEFINE_BEGIN(LeapFrog, 33) // autogenerated by TidySource.py
21 TURF_TRACE_DEFINE("[find] called")
22 TURF_TRACE_DEFINE("[find] found existing cell optimistically")
23 TURF_TRACE_DEFINE("[find] found existing cell")
24 TURF_TRACE_DEFINE("[insert] called")
25 TURF_TRACE_DEFINE("[insert] reserved first cell")
26 TURF_TRACE_DEFINE("[insert] race to reserve first cell")
27 TURF_TRACE_DEFINE("[insert] found in first cell")
28 TURF_TRACE_DEFINE("[insert] race to read hash")
29 TURF_TRACE_DEFINE("[insert] found in probe chain")
30 TURF_TRACE_DEFINE("[insert] reserved cell")
31 TURF_TRACE_DEFINE("[insert] race to reserve cell")
32 TURF_TRACE_DEFINE("[insert] found outside probe chain")
33 TURF_TRACE_DEFINE("[insert] found late-arriving cell in same bucket")
34 TURF_TRACE_DEFINE("[insert] set link on behalf of late-arriving cell")
35 TURF_TRACE_DEFINE("[insert] overflow")
36 TURF_TRACE_DEFINE("[beginTableMigrationToSize] called")
37 TURF_TRACE_DEFINE("[beginTableMigrationToSize] new migration already exists")
38 TURF_TRACE_DEFINE("[beginTableMigrationToSize] new migration already exists (double-checked)")
39 TURF_TRACE_DEFINE("[beginTableMigration] redirected while determining table size")
40 TURF_TRACE_DEFINE("[migrateRange] empty cell already redirected")
41 TURF_TRACE_DEFINE("[migrateRange] race to insert key")
42 TURF_TRACE_DEFINE("[migrateRange] race to insert value")
43 TURF_TRACE_DEFINE("[migrateRange] race inserted Redirect")
44 TURF_TRACE_DEFINE("[migrateRange] in-use cell already redirected")
45 TURF_TRACE_DEFINE("[migrateRange] racing update was erase")
46 TURF_TRACE_DEFINE("[migrateRange] race to update migrated value")
47 TURF_TRACE_DEFINE("[TableMigration::run] already ended")
48 TURF_TRACE_DEFINE("[TableMigration::run] detected end flag set")
49 TURF_TRACE_DEFINE("[TableMigration::run] destination overflow")
50 TURF_TRACE_DEFINE("[TableMigration::run] race to set m_overflowed")
51 TURF_TRACE_DEFINE("[TableMigration::run] out of migration units")
52 TURF_TRACE_DEFINE("[TableMigration::run] not the last worker")
53 TURF_TRACE_DEFINE("[TableMigration::run] a new TableMigration was already started")
54 TURF_TRACE_DEFINE_END(LeapFrog, 33)
55
56 } // namespace details
57 } // namespace junction