The patent badge is an abbreviated version of the USPTO patent document. The patent badge does contain a link to the full patent document.
The patent badge is an abbreviated version of the USPTO patent document. The patent badge covers the following: Patent number, Date patent was issued, Date patent was filed, Title of the patent, Applicant, Inventor, Assignee, Attorney firm, Primary examiner, Assistant examiner, CPCs, and Abstract. The patent badge does contain a link to the full patent document (in Adobe Acrobat format, aka pdf). To download or print any patent click here.
Patent No.:
Date of Patent:
Oct. 04, 1988
Filed:
Jun. 17, 1986
Avshalom Houri, Netovot, IL;
Ehud Y Shapiro, Rehovot, IL;
Yeda Research and Development Co., Rehovot, IL;
Abstract
A suspension list is maintained for each variable on which one or more processes has been suspended because the variable is uninstantiated. The suspension list for each variable is a circular list of suspension records, each record in the list being associated indirectly with one process that is suspended because that variable is uninstantiated. Each record comprises a first pointer to a memory address or register (called a 'hanger') at which is stored the address of the process record for the suspended process and a second pointer that points to the memory address of the next record in the suspension list. Since. the same process can be suspended on different variables, it can happen that records in more than one suspension list point to the same hanger at which is stored the address of the process record for that process. If a variable is subsequently instantiated, each record in the suspension list associated with that variable is used to identify one of the processes that has been suspended on that variable. Accordingly each such process can then be enqueued in the process queue. At the same time, as each process is identified by the record in the suspension list, the address of the process record that is stored in the hanger is reset, illustratively, to zero. As a result, if at a later time another variable is instantiated and the suspension list for that variable also contains a record that points to the same hanger, the hanger will be found to point to its reset value rather than the address of the process record. Consequently, the process will not be identified a second time and will not be enqueued again in the process queue.