Various techniques for manipulating data using access states of memory,
access control fields of pointers and operations, and exception raising
and exception trapping in a multithreaded computer system. In particular,
the techniques include synchronization support for a thread blocked in a
word, demand evalution of values, parallel access of multiple threads to
a list, synchronized and unsynchronized access to a data buffer, use of
fowarding to avoid checking for an end of a buffer, use of sentinel work
to detect access past a data structure, concurrent access to a word of
memory using different synchronization access modes, and use of trapping
to detect access to restricted memory.