IL294010A - Combined reference and secondary marking - Google Patents
Combined reference and secondary markingInfo
- Publication number
- IL294010A IL294010A IL294010A IL29401022A IL294010A IL 294010 A IL294010 A IL 294010A IL 294010 A IL294010 A IL 294010A IL 29401022 A IL29401022 A IL 29401022A IL 294010 A IL294010 A IL 294010A
- Authority
- IL
- Israel
- Prior art keywords
- objects
- primary
- marking
- referenced
- code
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0253—Garbage collection, i.e. reclamation of unreferenced memory
- G06F12/0261—Garbage collection, i.e. reclamation of unreferenced memory using reference counting
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/3037—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a memory, e.g. virtual memory, cache
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0253—Garbage collection, i.e. reclamation of unreferenced memory
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0253—Garbage collection, i.e. reclamation of unreferenced memory
- G06F12/0269—Incremental or concurrent garbage collection, e.g. in real-time systems
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/10—Address translation
- G06F12/1009—Address translation using page tables, e.g. page table structures
- G06F12/1018—Address translation using page tables, e.g. page table structures involving hashing techniques, e.g. inverted page tables
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/32—Address formation of the next instruction, e.g. by incrementing the instruction counter
- G06F9/321—Program or instruction counter, e.g. incrementing
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1016—Performance improvement
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1041—Resource optimization
- G06F2212/1044—Space efficiency improvement
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1048—Scalability
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Software Systems (AREA)
- Mathematical Physics (AREA)
- Quality & Reliability (AREA)
- Memory System (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Stored Programmes (AREA)
- Road Signs Or Road Markings (AREA)
- Debugging And Monitoring (AREA)
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US16/724,143 US11422932B2 (en) | 2019-12-20 | 2019-12-20 | Integrated reference and secondary marking |
| PCT/US2020/060320 WO2021126429A1 (en) | 2019-12-20 | 2020-11-13 | Integrated reference and secondary marking |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| IL294010A true IL294010A (en) | 2022-08-01 |
Family
ID=73790230
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| IL294010A IL294010A (en) | 2019-12-20 | 2020-11-13 | Combined reference and secondary marking |
Country Status (12)
| Country | Link |
|---|---|
| US (1) | US11422932B2 (https=) |
| EP (1) | EP4078381B1 (https=) |
| JP (1) | JP7672403B2 (https=) |
| KR (1) | KR20220113372A (https=) |
| CN (1) | CN114830099B (https=) |
| AU (1) | AU2020407951A1 (https=) |
| BR (1) | BR112022008660A2 (https=) |
| CA (1) | CA3163334A1 (https=) |
| IL (1) | IL294010A (https=) |
| MX (1) | MX2022007467A (https=) |
| PH (1) | PH12022551526A1 (https=) |
| WO (1) | WO2021126429A1 (https=) |
Families Citing this family (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| EP3903276A4 (en) * | 2018-12-24 | 2022-08-03 | INTEL Corporation | METHOD AND APPARATUS FOR PROCESSING MACHINE LEARNING MODELS IN A MULTI-PROCESS WEB BROWSER ENVIRONMENT |
| US11392427B2 (en) | 2020-01-06 | 2022-07-19 | Microsoft Technology Licensing, Llc | Lock-free reading of unitary value sets |
| US11954023B2 (en) | 2022-07-20 | 2024-04-09 | Microsoft Technology Licensing, Llc | Garbage collection prefetching state machine |
| US12608313B2 (en) | 2023-04-17 | 2026-04-21 | Microsoft Technology Licensing, Llc | Garbage collection in constrained local environments |
| US12487922B2 (en) | 2024-04-19 | 2025-12-02 | Microsoft Technology Licensing, Llc | Garbage collection lightweight dynamic tracing and analysis |
Family Cites Families (60)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5765174A (en) * | 1995-10-06 | 1998-06-09 | Sun Microsystems, Inc. | System amd method for distributed object resource management |
| US6047295A (en) | 1998-05-05 | 2000-04-04 | International Business Machines Corporation | Computer system, program product and method of managing weak references with a concurrent mark sweep collector |
| GB9907278D0 (en) | 1999-03-31 | 1999-05-26 | Philips Electronics Nv | Memory reclamation method and apparatus |
| US6349314B1 (en) * | 1999-09-29 | 2002-02-19 | Motorola, Inc. | Adaptive scheduler for mark and sweep garbage collection in interactive systems |
| EP1174791B1 (en) | 2000-07-10 | 2017-09-27 | Microsoft Technology Licensing, LLC | Unified data type system and method |
| US6502111B1 (en) | 2000-07-31 | 2002-12-31 | Microsoft Corporation | Method and system for concurrent garbage collection |
| US6865585B1 (en) | 2000-07-31 | 2005-03-08 | Microsoft Corporation | Method and system for multiprocessor garbage collection |
| US20020078255A1 (en) * | 2000-10-17 | 2002-06-20 | Shankar Narayan | Pluggable instantiable distributed objects |
| US6598141B1 (en) | 2001-03-08 | 2003-07-22 | Microsoft Corporation | Manipulating interior pointers on a stack during garbage collection |
| US7203756B2 (en) * | 2001-04-27 | 2007-04-10 | International Business Machines Corporation | Mechanism to cache references to Java RMI remote objects implementing the unreferenced interface |
| US6980997B1 (en) | 2001-06-28 | 2005-12-27 | Microsoft Corporation | System and method providing inlined stub |
| AU2003207526A1 (en) | 2002-01-11 | 2003-07-30 | Sun Microsystems, Inc. | Lock-free implementation of dynamic-sized shared data structure |
| US9141539B2 (en) * | 2002-05-24 | 2015-09-22 | Oracle International Corporation | System and method for object deletion in persistent memory using bitmap windows |
| US6973554B2 (en) | 2003-04-23 | 2005-12-06 | Microsoft Corporation | Systems and methods for multiprocessor scalable write barrier |
| US7529775B2 (en) | 2003-08-20 | 2009-05-05 | Microsoft Corporation | Method and system for collecting information about applications on a computer system |
| US8578380B1 (en) | 2003-12-17 | 2013-11-05 | Vmware, Inc. | Program concurrency control using condition variables |
| US8131955B2 (en) | 2004-04-15 | 2012-03-06 | Microsoft Corporation | Ephemeral garbage collection using a tracking mechanism on a card table to determine marked bundles |
| US7665077B2 (en) | 2004-10-18 | 2010-02-16 | Microsoft Corporation | System and method for sharing objects between applications in a virtual runtime environment |
| US7822938B2 (en) | 2004-10-20 | 2010-10-26 | Microsoft Corporation | System and method for performing garbage collection based on unmanaged memory allocations |
| US7610579B2 (en) | 2004-12-10 | 2009-10-27 | Microsoft Corporation | Critical finalizers |
| US7937709B2 (en) | 2004-12-29 | 2011-05-03 | Intel Corporation | Synchronizing multiple threads efficiently |
| US7577657B2 (en) | 2005-03-18 | 2009-08-18 | Microsoft Corporation | System and method for updating objects in a multi-threaded computing environment |
| US8713524B2 (en) | 2005-04-06 | 2014-04-29 | Microsoft Corporation | Memory management configuration |
| US7441094B2 (en) | 2005-07-05 | 2008-10-21 | Microsoft Corporation | Memory management configuration |
| US8701095B2 (en) | 2005-07-25 | 2014-04-15 | Microsoft Corporation | Add/remove memory pressure per object |
| US7926071B2 (en) | 2005-10-20 | 2011-04-12 | Microsoft Corporation | Load balancing interfaces |
| US8234378B2 (en) | 2005-10-20 | 2012-07-31 | Microsoft Corporation | Load balancing in a managed execution environment |
| US20070100919A1 (en) * | 2005-11-01 | 2007-05-03 | Electronics And Telecommunications Research Institute | Garbage collection unit and method thereof |
| US20070156967A1 (en) * | 2005-12-29 | 2007-07-05 | Michael Bond | Identifying delinquent object chains in a managed run time environment |
| US7774389B2 (en) | 2007-01-17 | 2010-08-10 | Microsoft Corporation | Optimized garbage collection techniques |
| US7685182B2 (en) | 2007-05-08 | 2010-03-23 | Microsoft Corporation | Interleaved garbage collections |
| US7716192B2 (en) | 2007-05-08 | 2010-05-11 | Microsoft Corporation | Concurrent, lock-free object copying |
| US8065491B2 (en) | 2007-12-30 | 2011-11-22 | Intel Corporation | Efficient non-transactional write barriers for strong atomicity |
| US7801872B2 (en) | 2008-04-08 | 2010-09-21 | Microsoft Corporation | Providing a publishing mechanism for managed objects |
| US7831640B2 (en) | 2008-04-15 | 2010-11-09 | Microsoft Corporation | Using an overflow list to process mark overflow |
| US7987215B2 (en) | 2008-04-22 | 2011-07-26 | Microsoft Corporation | Efficiently marking objects with large reference sets |
| US7953778B2 (en) | 2008-05-20 | 2011-05-31 | International Business Machines Corporation | Efficient support of consistent cyclic search with read-copy update and parallel updates |
| US7860906B2 (en) | 2008-05-28 | 2010-12-28 | Microsoft Corporation | Overflow per segment |
| US8825719B2 (en) | 2008-10-30 | 2014-09-02 | Microsoft Corporation | Incremental lock-free stack scanning for garbage collection |
| US20100318584A1 (en) | 2009-06-13 | 2010-12-16 | Microsoft Corporation | Distributed Cache Availability During Garbage Collection |
| US8924984B2 (en) | 2009-06-26 | 2014-12-30 | Microsoft Corporation | Lock-free barrier with dynamic updating of participant count |
| US8850166B2 (en) | 2010-02-18 | 2014-09-30 | International Business Machines Corporation | Load pair disjoint facility and instruction therefore |
| US8566368B2 (en) | 2010-09-29 | 2013-10-22 | Microsoft Corporation | Garbage collection extensibility via managed code |
| US10754770B2 (en) | 2011-10-10 | 2020-08-25 | Microsoft Technology Licensing, Llc | Work stealing of partially-marked objects |
| WO2014033606A2 (en) | 2012-08-31 | 2014-03-06 | Pradeep Varma | Systems and methods of memory and access management |
| CN103116518B (zh) * | 2013-01-28 | 2015-09-23 | 飞天诚信科技股份有限公司 | 一种基于java卡虚拟机中对象管理的方法 |
| US9489406B1 (en) | 2013-03-15 | 2016-11-08 | Google Inc. | Linear time processing of weak properties in a garbage collected environment |
| US9519668B2 (en) | 2013-05-06 | 2016-12-13 | International Business Machines Corporation | Lock-free creation of hash tables in parallel |
| US9804962B2 (en) | 2015-02-13 | 2017-10-31 | Microsoft Technology Licensing, Llc | Garbage collection control in managed code |
| US10558566B2 (en) | 2015-04-16 | 2020-02-11 | Microsoft Technology Licensing, Llc | Garbage collection of non-pinned objects within heap |
| US10929201B2 (en) | 2015-10-22 | 2021-02-23 | Wind River Systems, Inc. | Method and system for implementing generation locks |
| US10120655B2 (en) | 2016-06-03 | 2018-11-06 | Microsoft Technology Licensing, Llc. | Seamless high performance interoperability between different type graphs that share a garbage collector |
| US10248471B2 (en) | 2016-09-15 | 2019-04-02 | Oracle International Corporation | Lockless execution in read-mostly workloads for efficient concurrent process execution on shared resources |
| US10628306B2 (en) | 2017-02-01 | 2020-04-21 | Microsoft Technology Licensing, Llc | Garbage collector |
| US10572181B2 (en) | 2017-02-01 | 2020-02-25 | Microsoft Technology Licensing, Llc | Multiple stage garbage collector |
| US10459771B2 (en) | 2017-02-22 | 2019-10-29 | Red Hat Israel, Ltd. | Lightweight thread synchronization using shared memory state |
| US10360079B2 (en) | 2017-06-16 | 2019-07-23 | GM Global Technology Operations LLC | Architecture and services supporting reconfigurable synchronization in a multiprocessing system |
| WO2020005597A1 (en) | 2018-06-28 | 2020-01-02 | Microsoft Technology Licensing, Llc | Managing global and local execution phases |
| US11301602B2 (en) | 2018-11-13 | 2022-04-12 | Gauntlet Networks, Inc. | Simulation-based testing of blockchain and other distributed ledger systems |
| US11392427B2 (en) | 2020-01-06 | 2022-07-19 | Microsoft Technology Licensing, Llc | Lock-free reading of unitary value sets |
-
2019
- 2019-12-20 US US16/724,143 patent/US11422932B2/en active Active
-
2020
- 2020-11-13 MX MX2022007467A patent/MX2022007467A/es unknown
- 2020-11-13 WO PCT/US2020/060320 patent/WO2021126429A1/en not_active Ceased
- 2020-11-13 JP JP2022528211A patent/JP7672403B2/ja active Active
- 2020-11-13 EP EP20821488.2A patent/EP4078381B1/en active Active
- 2020-11-13 CN CN202080088548.XA patent/CN114830099B/zh active Active
- 2020-11-13 IL IL294010A patent/IL294010A/en unknown
- 2020-11-13 CA CA3163334A patent/CA3163334A1/en active Pending
- 2020-11-13 PH PH1/2022/551526A patent/PH12022551526A1/en unknown
- 2020-11-13 KR KR1020227018294A patent/KR20220113372A/ko active Pending
- 2020-11-13 BR BR112022008660A patent/BR112022008660A2/pt not_active IP Right Cessation
- 2020-11-13 AU AU2020407951A patent/AU2020407951A1/en not_active Abandoned
Also Published As
| Publication number | Publication date |
|---|---|
| JP7672403B2 (ja) | 2025-05-07 |
| CN114830099A (zh) | 2022-07-29 |
| PH12022551526A1 (en) | 2023-04-03 |
| KR20220113372A (ko) | 2022-08-12 |
| EP4078381B1 (en) | 2026-01-07 |
| EP4078381A1 (en) | 2022-10-26 |
| JP2023507709A (ja) | 2023-02-27 |
| US11422932B2 (en) | 2022-08-23 |
| US20210191859A1 (en) | 2021-06-24 |
| BR112022008660A2 (pt) | 2022-07-19 |
| MX2022007467A (es) | 2022-06-27 |
| AU2020407951A1 (en) | 2022-07-07 |
| CN114830099B (zh) | 2025-08-08 |
| WO2021126429A1 (en) | 2021-06-24 |
| CA3163334A1 (en) | 2021-06-14 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP7489988B2 (ja) | ガベージコレクションのマーキングにおける同期依存の軽減 | |
| US10824420B2 (en) | Caching build graphs | |
| EP4078381B1 (en) | Integrated reference and secondary marking | |
| US10152309B2 (en) | Cross-library framework architecture feature sets | |
| EP4088187B1 (en) | Lock-free reading of unitary value sets | |
| EP3123316B1 (en) | Supporting dynamic behavior in statically compiled programs | |
| US8935686B2 (en) | Error-code and exception-based function dispatch tables | |
| HK40072458A (en) | Integrated reference and secondary marking | |
| HK40079618A (en) | Lock-free reading of unitary value sets | |
| HK40056571A (en) | Reducing synchronization reliance in garbage collection marking |