Global data, which is synchronized between threads, or joined after thread's execution from thread's local data.
More...
Global data, which is synchronized between threads, or joined after thread's execution from thread's local data.
Synch_Data::Synch_Data |
( |
| ) |
|
|
inline |
Constructor.
- Precondition
- Global data glb must already be after parsing when constructing this
- See also
- Object_Lifetimes
bool Synch_Data::bulk_mark_clauses |
( |
ClauseDB * |
db, |
|
|
vector< lit_t * > & |
clauses, |
|
|
size_t & |
idx, |
|
|
size_t & |
failed_attempts |
|
) |
| |
|
inline |
Globally mark a vector of clauses, and exchange the data in the vector by incoming clauses.
As longer the list of incoming clauses, as harder this function tries to get the lock.
- Parameters
-
db | Clause database the clauses are stored in. Used to compute positions. |
clauses | Vector of clauses to be marked. On success, is filled with incoming clauses to be marked |
idx | Marking sync-index for this thread. Updated on success. |
failed_attempts | Counter for failed attempts to get the lock. Updated by this function. |
- Returns
- Whether function succeeded to get the lock and do the update. On success, clauses and index are updated. Otherwise, nothing is updated.
bool Synch_Data::get_incoming |
( |
ClauseDB * |
db, |
|
|
vector< lit_t * > & |
clauses, |
|
|
size_t & |
idx, |
|
|
size_t & |
failed_attempts |
|
) |
| |
|
inline |
Get incoming marked clauses from global marking, but do not synchronize outgoing clauses.
- Parameters
-
db | Clause database the clauses are stored in. Used to compute positions. |
clauses | On success, this is filled with incoming clauses to be marked |
idx | Marking sync-index for this thread. Updated on success. |
failed_attempts | Counter for failed attempts to get the lock. Updated by this function. |
- Warning
- Not tested, currently not used.
bool Synch_Data::mark_clause_single_threaded |
( |
lit_t * |
cl | ) |
|
|
inline |
Directly mark a single clause.
- Precondition
- Must be in single-threaded mode
- See also
- cfg_single_threaded.
The documentation for this class was generated from the following file: