Detecting access to a memory location in a multithreaded environment
First Claim
1. A method in a computer system for implementing a circular buffer, comprising:
- storing in forwarding words, located past an end of the buffer, pointers to locations at the other end of the buffer;
enabling forwarding in the pointers; and
when a forwarding word is accessed, directing the access to the pointed to location at the other end of the buffer.
0 Assignments
0 Petitions
Accused Products
Abstract
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 evaluation of values, parallel access of multiple threads to a list, synchronized and unsynchronized access to a data buffer, use of forwarding to avoid checking for an end of a buffer, use of sentinel word 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.
-
Citations
62 Claims
-
1. A method in a computer system for implementing a circular buffer, comprising:
-
storing in forwarding words, located past an end of the buffer, pointers to locations at the other end of the buffer;
enabling forwarding in the pointers; and
when a forwarding word is accessed, directing the access to the pointed to location at the other end of the buffer. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29)
-
-
30. A method in a computer system for detecting access to a memory location adjacent to a data structure, the method comprising:
-
storing a pointer to an invalid memory location in the memory location;
enabling forwarding for the memory location; and
when access to the invalid memory location through the memory location raises an exception, indicating that the memory location adjacent to the data structure has been accessed. - View Dependent Claims (31, 32, 33, 34, 35)
-
-
36. A system for implementing a circular buffer, comprising:
-
a component that stores in forwarding words located past an end of a buffer pointers to locations at the other end of the buffer and enables forwarding in the pointers;
a component that accesses the buffer; and
a component that, when a forwarding word is accessed, directs the access to the pointed to location at the other end of the buffer. - View Dependent Claims (37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48)
-
-
49. A computer-readable medium for implementing a circular buffer, comprising:
-
a buffer with storage locations, the buffer having a beginning and an end;
a forwarding word adjacent to the end of the buffer; and
a pointer in the forwarding word pointing to the beginning of the buffer. - View Dependent Claims (50, 51, 52, 53, 54, 55, 56)
-
-
57. A system for detecting access to a memory location adjacent to a data structure, the system comprising:
-
a component that stores a pointer to an invalid memory location in the memory location;
a component that enables forwarding for the memory location; and
a component that, when access to the invalid memory location through the memory location raises an exception, indicates that the memory location adjacent to the data structure has been accessed. - View Dependent Claims (58, 59, 60, 61, 62)
-
Specification