Lines Matching refs:Segment
48 static void thread_append_segment(const DrdThreadId tid, Segment* const sg);
49 static void thread_discard_segment(const DrdThreadId tid, Segment* const sg);
124 /** Enables/disables segment merging. */
131 /** Get the segment merging interval. */
137 /** Set the segment merging interval. */
272 Segment* p;
291 * Create the first segment for a newly started thread.
325 /* Create an initial segment for the newly created thread. */
517 Segment* sg;
518 Segment* sg_prev;
820 /** Append a new segment at the end of the segment list. */
822 void thread_append_segment(const DrdThreadId tid, Segment* const sg)
846 * Remove a segment from the segment list of thread threadid, and free the
850 void thread_discard_segment(const DrdThreadId tid, Segment* const sg)
875 * Returns a pointer to the vector clock of the most recent segment associated
880 Segment* latest_sg;
890 * Return the latest segment of thread 'tid' and increment its reference count.
892 void DRD_(thread_get_latest_segment)(Segment** sg, const DrdThreadId tid)
894 Segment* latest_sg;
916 Segment* latest_sg;
941 Segment* latest_sg;
989 Segment* sg;
990 Segment* sg_next;
1009 * DRD the set CS consists of the latest segment of each thread combined with
1015 * Segment* sg;
1033 Segment* const sg1,
1034 Segment* const sg2)
1045 Segment* sg;
1069 * or discarding real data races. For the theoretical background of segment
1071 * and Koen De Bosschere. Bounding the number of segment histories during
1078 * every time a new segment is created. The property equiv(s1, s2) is defined
1083 * segment s is the latest segment of a thread or because it can become the
1084 * immediate predecessor of a new segment due to a synchronization operation.
1094 Segment* sg;
1102 Segment* const sg_next = sg->thr_next;
1121 * Create a new segment for the specified thread, and discard any segments
1126 Segment* last_sg;
1127 Segment* new_sg;
1201 * Update the vector clock of the last segment of thread tid with the
1202 * the vector clock of segment sg.
1204 static void thread_combine_vc_sync(DrdThreadId tid, const Segment* sg)
1241 * Create a new segment for thread tid and update the vector clock of the last
1242 * segment of this thread with the vector clock of segment sg. Call this
1244 * until the memory accesses in the segment sg finished.
1246 void DRD_(thread_new_segment_and_combine_vc)(DrdThreadId tid, const Segment* sg)
1272 Segment* p;
1301 * Print the segment information for all threads.
1308 Segment* p;
1353 const Segment* const p)
1363 Segment* q;
1377 Segment* q_next;
1384 "Other segment start (thread %u)\n", i);
1391 "Other segment end (thread %u)\n", i);
1409 Segment* p;
1450 * accesses of all segments that are unordered to the current segment of the
1456 Segment* p;
1500 Segment* q;
1510 "conflict set: [%u] merging segment %s\n",
1521 "conflict set: [%u] ignoring segment %s\n",
1545 * updated from old_vc to its current value, either because a new segment has
1552 Segment* p;
1578 Segment* q;
1596 "conflict set: [%u] %s segment %s\n", j,
1618 "conflict set: [%u] %s segment %s\n", j,
1634 Segment* q;
1684 * because a new segment has been created.