Invention Grant
US08677076B2 System and method for tracking references to shared objects using byte-addressable per-thread reference counters
有权
用于使用字节可寻址的每线程引用计数器来跟踪对共享对象的引用的系统和方法
- Patent Title: System and method for tracking references to shared objects using byte-addressable per-thread reference counters
- Patent Title (中): 用于使用字节可寻址的每线程引用计数器来跟踪对共享对象的引用的系统和方法
-
Application No.: US12750455Application Date: 2010-03-30
-
Publication No.: US08677076B2Publication Date: 2014-03-18
- Inventor: David Dice , Nir N. Shavit
- Applicant: David Dice , Nir N. Shavit
- Applicant Address: US CA Redwood City
- Assignee: Oracle International Corporation
- Current Assignee: Oracle International Corporation
- Current Assignee Address: US CA Redwood City
- Agency: Meyertons, Hood, Kivlin, Kowert & Goetzel, P.C.
- Agent Robert C. Kowert
- Main IPC: G06F12/00
- IPC: G06F12/00 ; G06F13/00 ; G06F13/28

Abstract:
The system described herein may track references to a shared object by concurrently executing threads using a reference tracking data structure that includes an owner field and an array of byte-addressable per-thread entries, each including a per-thread reference counter and a per-thread counter lock. Slotted threads assigned to a given array entry may increment or decrement the per-thread reference counter in that entry in response to referencing or dereferencing the shared object. Unslotted threads may increment or decrement a shared unslotted reference counter. A thread may update the data structure and/or examine it to determine whether the number of references to the shared object is zero or non-zero using a blocking-optimistic or a non-blocking mechanism. A checking thread may acquire ownership of the data structure, obtain an instantaneous snapshot of all counters, and return a value indicating whether the number of references to the shared object is zero or non-zero.
Public/Granted literature
Information query