Automatic reference counting
US-2020167140-A1 · May 28, 2020 · US
US11086776B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-11086776-B2 |
| Application number | US-201816115642-A |
| Country | US |
| Kind code | B2 |
| Filing date | Aug 29, 2018 |
| Priority date | Aug 29, 2018 |
| Publication date | Aug 10, 2021 |
| Grant date | Aug 10, 2021 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
A method of maintaining correctness of pointers from a managed heap to off-heap memory includes storing in a cache a first heap object in a managed heap that holds at least one off-heap pointer pointing to a first off-heap data structure and creating a weak reference node linked to the first heap object such that the first heap object is not kept alive by the weak reference node during garbage collection. Further disclosed are systems for maintaining correctness of pointers from a managed heap to off-heap memory.
Opening claim text (preview).
What is claimed is: 1. A method of maintaining correctness of pointers from a managed, heap to off-heap memory, the method comprising: storing in a cache, by one or more processors of a computing system, a first heap object in a managed heap that holds at least one off-heap pointer pointing to a first off-heap data structure; and creating, by the one or more processors of the computing system, a weak reference node linked to the first heap object such that the first heap object is not kept alive by the weak reference node during garbage collection. 2. The method of claim 1 , further comprising maintaining, by a second off-heap data structure related to the first off-heap data structure, a pointer to a second heap object, wherein the cache is in the second heap object. 3. The method of claim 1 , further comprising: invalidating, by the one or more processors of the computing system, the at least one off-heap pointer; determining, by the one or more processors of the computing system, a new address of the first off-heap data structure; traversing, by the one or more processors of the computing system, the cache; checking, by the one or more processors of the computing system, whether the at least one off-heap pointer held by the first heap object requires updating by comparing against an old address of the first off-heap data structure; and updating, by the one or more processors of the computing system, the at least one off-heap pointer held by the first heap object. 4. The method of claim 1 , further comprising removing, by the one or more processors of the computing system, the weak reference node linked to the first heap object, wherein the removing occurs during the creating, by the one or more processors of the computing system, of a second weak reference node linked to at least one of the first heap object or another heap object stored in the cache or another cache. 5. The method of claim 1 , further comprising removing, by the one or more processors of the computing system, the weak reference node linked to the first heap object, wherein the removing occurs during the updating, by the one or more processors of the computing system. 6. The method of claim 1 , wherein the storing occurs during at least one of: as part of construction of the first heap object; and at the time when the at least one off-heap pointer is written. 7. The method of claim 1 , further comprising garbage collecting, by the one or more processors of the computing system, the first heap object. 8. A computer system, comprising: one or more processors; one or more memory devices coupled to the one or more processors; and one or more computer readable storage devices coupled to the one or more processors, wherein the one or more storage devices contain program code executable by the one or more processors via the one or more memory devices to implement a method of executing a digital action in a retail environment, the method comprising: storing in a cache, by the one or more processors of the computing system, a first heap object in a managed heap that holds at least one off-heap pointer pointing to a first off-heap data structure; and creating, by the one or more processors of the computing system, a weak reference node linked to the first heap object such that the first heap object is not kept alive by the weak reference node during garbage collection. 9. The computer system of claim 8 , the method further comprising: maintaining, by a second off-heap data structure related to the first off-heap data structure, a pointer to a second heap object, wherein the cache is in the second heap object. 10. The computer system of claim 9 , wherein the storing occurs during at least one of: as part of construction of the first heap object; and at the time when the at least one off-heap pointer is written. 11. The computer system of claim 10 , the method further comprising garbage collecting, by the one or more processors of the computing system, the first heap object. 12. The computer system of claim 8 , the method further comprising: invalidating, by the one or more processors of the computing system, the at least one off-heap pointer; determining, by the one or more processors of the computing system, a new address of the first off-heap data structure; traversing, by the one or more processors of the computing system, the cache; checking, by the one or more processors of the computing system, whether the at least one off-heap pointer held by the first heap object requires updating by comparing against an old address of the first off-heap data structure; and updating, by the one or more processors of the computing system, the at least one off-heap pointer held by the first heap object. 13. The computer system of claim 12 , the method further comprising removing, by the one or more processors of the computing system, the weak reference node linked to the first heap object, wherein the removing occurs during the creating, by the one or more processors of the computing system, of a second weak reference node linked to at least one of the first heap object or another heap object stored in the cache or another cache. 14. The computer system of claim 8 , the method further comprising removing, by, the one or more processors of the computing system, the weak reference node linked to the first heap object, wherein the removing occurs during the updating, by the one or more processors of the computing system. 15. A computer program product, comprising a computer readable hardware storage device storing a computer readable program code, the computer readable program code comprising an algorithm that when executed by one or more processors of a computer system implements a method for of executing a digital action in a retail environment, the method comprising: storing in a cache, by the one or more processors of the computing system, a first heap object in a managed heap that holds at least one off-heap pointer pointing to a first off-heap data structure; and creating, by the one or more processors of the computing system, a weak reference node linked to the first heap object such that the first heap object is not kept alive by the weak reference node during garbage collection. 16. The computer program product of claim 15 , the method further comprising: maintaining, by a second off-heap data structure related to the first off-heap data structure, a pointer to a second heap object, wherein the cache is in the second heap object. 17. The computer program product of claim 16 , the method further comprising: invalidating, by the one or more processors of the computing system, the at least one off-heap pointer; determining, by the one or more processors of the computing system, a new address of the first off-heap data structure; traversing, by the one or more processors of the computing system, the cache; checking, by the one or more processors of the computing system, whether the at least one off-heap pointer held by the first heap object requires updating by comparing against an old address of the first off-heap data stricture; and updating, by the one or more processors of the computing system, the at least one off-heap pointer held by the first heap object. 18. The computer program product of claim 15 , the method further comprising removing, by the one or more processors of the computing system, the weak reference node linked to the first heap object, wherein the removing occurs during the creating, by the one or more processors of the computing system, of a se
Multiple user address space allocation, e.g. using different base addresses (interprocessor communication G06F15/163) · CPC title
Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators · CPC title
Limited pointers directories; State-only directories without pointers · CPC title
Resource optimization · CPC title
Free address space management · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.