StackThreads/MP: version 0.77 User's Guide
int st_read_int(il); @ long st_read_long(ll); @ void * st_read_ptr(pl); @ int ST_INT_LOC_CHECK(il, i); @ int ST_LONG_LOC_CHECK(ll, l); @ int ST_PTR_LOC_CHECK(pl, p); @ int ST_INT_LOC_LOCKED(il); @ int ST_LONG_LOC_LOCKED(ll); @ int ST_PTR_LOC_LOCKED(pl);
st_read_int(il)
reads the value at the location pointed to by
il, but does not lock the location. It can immediately read the
value even if the location is locked. st_read_long(ll)
and
st_read_ptr(pl)
are similar procedures for locations of type
st_long_loc_t *
and st_long_ptr_t *
.
ST_INT_LOC_CHECK(il, i)
is 1 when il is currently
unlocked and its value equals to i. This is semantically equivalent
to (st_read_int(il) == i)
, but on some CPUs, the former is
considerably faster. ST_LONG_LOC_CHECK(ll, l)
and
ST_PTR_LOC_CHECK(pl, p)
are similar primitives for
st_long_loc_t *
and st_ptr_loc_t *
, respectively.
ST_INT_LOC_LOCKED(il)
is 1 if the location il is currently
locked. ST_LONG_LOC_LOCKED(ll)
and ST_PTR_LOC_LOCKED(pl)
are similar primitives for st_long_loc_t *
and st_ptr_loc_t *
,
respectively.