Memory management of soft references
    11.
    发明授权
    Memory management of soft references 有权
    软参考的内存管理

    公开(公告)号:US08161084B2

    公开(公告)日:2012-04-17

    申请号:US12389626

    申请日:2009-02-20

    CPC classification number: G06F12/0253

    Abstract: A garbage collector determines a target amount of heap space to deallocate, estimates an amount of heap space reachable by a plurality of soft references by determining a cumulative size of no more than an exploration bound N number of objects reachable from each soft reference, and deallocates heap space based on the target amount and the estimate of the heap space reachable from the soft references. Deallocating heap space may include clearing at least one soft reference. If the estimate is inaccurate, it may be utilized regardless or modified to account for inaccuracy. The least-recently-used or the largest soft reference may be cleared until the total cleared space reachable exceeds the target amount. By performing a bounded analysis, the garbage collector may be able to make a more informed decision about whether to clear a soft reference without consuming the full amount of resources consumed by an exhaustive analysis.

    Abstract translation: 垃圾收集器确定要释放的堆空间的目标量,通过确定不超过从每个软参考可访问的探索绑定的N个对象的累积大小来估计多个软参考可达到的堆空间的量,并且释放 基于目标量的堆空间和从软参考可达的堆空间的估计。 取消分配堆空间可能包括清除至少一个软参考。 如果估计不准确,则无论何处或修改,都可能会被用于说明不准确。 最近最少使用的或最大的软参考可以被清除,直到总可用空间可达到超过目标量。 通过执行有限分析,垃圾收集器可能能够对是否清除软参考作出更明智的决定,而不消耗穷举分析所消耗的全部资源。

    Method and apparatus for improving parallel marking garbage collectors that use external bitmaps
    12.
    发明授权
    Method and apparatus for improving parallel marking garbage collectors that use external bitmaps 有权
    用于改进使用外部位图的并行标记垃圾收集器的方法和装置

    公开(公告)号:US08041918B2

    公开(公告)日:2011-10-18

    申请号:US12416043

    申请日:2009-03-31

    CPC classification number: G06F12/0276

    Abstract: A method for performing garbage collection involves obtaining a first reference bitmap including a block address and a set of mark bits, obtaining a first reference, identifying a mark bit of the set of mark bits based on the first reference, comparing an address associated with the mark bit with the first reference to generate a comparison, selecting an existing word from a global bit map based on the block address and the comparison, calculating a new word based on the set of mark bits and the existing word, replacing the existing word in the global bit map with the new word, and reclaiming a block of memory for reuse based on the global bit map after replacing the existing word.

    Abstract translation: 一种用于执行垃圾收集的方法包括获得包括块地址和一组标记位的第一参考位图,获得第一参考,基于第一参考识别该组标记位的标记位,比较与 标记位与第一参考以产生比较,基于块地址和比较从全局位图中选择现有字,基于标记位和现有字的集合来计算新字,替换现有字在 使用新字的全局位图,并且在替换现有单词之后基于全局位图回收用于重用的存储器块。

    Low-Contention Update Buffer Queuing For Large Systems
    13.
    发明申请
    Low-Contention Update Buffer Queuing For Large Systems 有权
    针对大型系统的低竞争更新缓冲区排队

    公开(公告)号:US20110191508A1

    公开(公告)日:2011-08-04

    申请号:US12699370

    申请日:2010-02-03

    CPC classification number: G06F12/0253 G06F5/12 G06F9/455 G06F9/46 G06F13/00

    Abstract: A method for queuing thread update buffers to enhance garbage collection. The method includes providing a global update buffer queue and a global array with slots for storing pointers to filled update buffers. The method includes with an application thread writing to the update buffer and, when filled, attempting to write the pointer for the update buffer to the global array. The array slot may be selected randomly or by use of a hash function. When the writing fails due to a non-null slot, the method includes operating the application thread to add the filled update buffer to the global update buffer queue. The method includes, with a garbage collector thread, inspecting the global array for non-null entries and, upon locating a pointer, claiming the filled update buffer. The method includes using the garbage collector thread to claim and process buffers added to the global update buffer queue.

    Abstract translation: 排队线程更新缓冲区以增强垃圾回收的方法。 该方法包括提供全局更新缓冲器队列和全局阵列,其具有用于存储指向填充的更新缓冲器的指针的时隙。 该方法包括应用程序线程写入更新缓冲区,并在填充时尝试将更新缓冲区的指针写入全局数组。 可以随机地或通过使用散列函数来选择阵列时隙。 当由于非空插槽而导致写入失败时,该方法包括操作应用程序线程以将填充的更新缓冲区添加到全局更新缓冲区队列。 该方法包括:使用垃圾收集器线程,检查全局数组的非空条目,并在找到指针时声明填充的更新缓冲区。 该方法包括使用垃圾收集器线程来声明和处理添加到全局更新缓冲区队列中的缓冲区。

    MEMORY MANAGEMENT OF SOFT REFERENCES
    14.
    发明申请
    MEMORY MANAGEMENT OF SOFT REFERENCES 有权
    软参考记忆管理

    公开(公告)号:US20100228796A1

    公开(公告)日:2010-09-09

    申请号:US12389626

    申请日:2009-02-20

    CPC classification number: G06F12/0253

    Abstract: A garbage collector determines a target amount of heap space to deallocate, estimates an amount of heap space reachable by a plurality of soft references by determining a cumulative size of no more than an exploration bound N number of objects reachable from each soft reference, and deallocates heap space based on the target amount and the estimate of the heap space reachable from the soft references. Deallocating heap space may include clearing at least one soft reference. If the estimate is inaccurate, it may be utilized regardless or modified to account for inaccuracy. The least-recently-used or the largest soft reference may be cleared until the total cleared space reachable exceeds the target amount. By performing a bounded analysis, the garbage collector may be able to make a more informed decision about whether to clear a soft reference without consuming the full amount of resources consumed by an exhaustive analysis.

    Abstract translation: 垃圾收集器确定要释放的堆空间的目标量,通过确定不超过从每个软参考可访问的探索绑定的N个对象的累积大小来估计多个软参考可达到的堆空间的量,并且释放 基于目标量的堆空间和从软引用可到达的堆空间的估计。 取消分配堆空间可能包括清除至少一个软参考。 如果估计不准确,则无论何处或修改,都可能会被用于说明不准确。 最近最少使用的或最大的软参考可以被清除,直到总可用空间可达到超过目标量。 通过执行有限分析,垃圾收集器可能能够就是否清除软参考做出更明智的决定,而不会消耗穷举分析所消耗的全部资源。

    Method and apparatus for tracking activity of a garbage collector with a plurality of threads that operate concurrently with an application program
    15.
    发明授权
    Method and apparatus for tracking activity of a garbage collector with a plurality of threads that operate concurrently with an application program 有权
    用于跟踪具有与应用程序同时操作的多个线程的垃圾收集器的活动的方法和装置

    公开(公告)号:US07672983B2

    公开(公告)日:2010-03-02

    申请号:US11305957

    申请日:2005-12-19

    CPC classification number: G06F9/4843 G06F9/5016 G06F12/0269

    Abstract: The time cost of collecting a region in a Garbage-First garbage collector is adjusted to account for concurrent thread activity. The overhead of a concurrent thread is tracked by dividing elapsed time into relatively short time “windows” and monitoring the system during those windows to determine how long that thread is scheduled to run during those windows. Using measurements of this type for each concurrent thread, the percentage of each elapsed time window dedicated to each concurrent thread is determined. Finally, by summing the percentages of elapsed time dedicated to concurrent thread activity, the cost of collecting a region can be increased by adding the overhead attributable to concurrent activity.

    Abstract translation: 在垃圾回收垃圾回收器中收集区域的时间成本调整为兼并线程活动。 并行线程的开销通过将经过的时间划分为相对较短的时间“windows”并在这些窗口中监视系统来跟踪,以确定在这些窗口期间该线程计划运行多长时间。 对每个并发线程使用此类型的测量,确定专用于每个并发线程的每个经过时间窗口的百分比。 最后,通过将专用于并发线程活动的经过时间的百分比相加,可以通过添加归并于并发活动的开销来增加收集区域的成本。

    Method for placing graphical user interface components in three dimensions
    16.
    发明授权
    Method for placing graphical user interface components in three dimensions 有权
    将图形用户界面组件放置在三维中的方法

    公开(公告)号:US07441201B1

    公开(公告)日:2008-10-21

    申请号:US10968690

    申请日:2004-10-19

    CPC classification number: G06F9/451 Y10S715/964

    Abstract: A method for creating a three-dimensional (3D) graphical user interface (GUI) involves creating a first two-dimensional (2D) container and a second 2D container, and placing the first 2D container and the second 2D container in a 3D environment to create the 3D GUI, wherein the orientation of the first 2D container in the 3D environment and the orientation of the second 2D container in the 3D environment are set prior to run time.

    Abstract translation: 一种用于创建三维(3D)图形用户界面(GUI)的方法涉及创建第一二维(2D)容器和第二2D容器,并将第一2D容器和第二2D容器放置在3D环境中 创建3D GUI,其中3D环境中的第一2D容器的取向和3D环境中的第二2D容器的取向在运行时间之前设置。

    Method and apparatus for reducing object pre-tenuring overhead in a generational garbage collector
    17.
    发明申请
    Method and apparatus for reducing object pre-tenuring overhead in a generational garbage collector 有权
    在一代垃圾收集器中减少对象预系统开销的方法和装置

    公开(公告)号:US20070180002A1

    公开(公告)日:2007-08-02

    申请号:US11340940

    申请日:2006-01-27

    CPC classification number: G06F12/0276

    Abstract: In some circumstances a generational garbage collector may be made more efficient by “pre-tenuring” objects or directly allocating new objects in an old generation instead of allocating them in the normal fashion in a young generation. A pre-tenuring decision is made by a two step process. In the first step, during a young-generation collection, an execution frequency is determined for each allocation site and sites with the highest execution frequency are selected as candidate sites. In the second step, during a subsequent young-generation collection, the survival rates are determined for the candidate sites. After this, objects allocated from sites with sufficiently high survival rates are allocated directly in the old generation.

    Abstract translation: 在某些情况下,世代垃圾收集器可以通过“预置换”对象或直接分配新的对象,而不是以年轻一代中的正常方式分配,从而更有效率。 通过两步过程进行了一项前期终身决定。 第一步,在年轻一代的收集中,确定每个分配站点的执行频率,并选择具有最高执行频率的站点作为候选站点。 在第二步,在随后的年轻一代收集中,确定候选地点的存活率。 之后,从具有足够高存活率的地点分配的物品直接分配给老一代。

    Low-contention update buffer queuing for small systems
    18.
    发明授权
    Low-contention update buffer queuing for small systems 有权
    针对小型系统的低争用更新缓冲区排队

    公开(公告)号:US08645651B2

    公开(公告)日:2014-02-04

    申请号:US12693815

    申请日:2010-01-26

    CPC classification number: G06F12/0253 G06F9/5022 G06F12/0269

    Abstract: A method for queuing update buffers to enhance garbage collection. The method includes running an application thread and providing, for the application thread, a data structure including current and finished update buffer slots. The method includes providing an update buffer for the application thread and storing a pointer to the update buffer in the current update buffer slot. The method includes storing null in the finished update buffer slot and, with the application thread, writing to the update buffer. The thread may write a pointer to the filled update buffer in the finished update buffer slot after the buffer is filled. The method includes using a garbage collector thread to inspect the finished update buffer slot and claim filled buffers and change the pointer to null. The thread then obtains an empty update buffer and updates the current update buffer slot to point to the new buffer.

    Abstract translation: 排队更新缓冲区以增强垃圾回收的方法。 该方法包括运行应用程序线程,并为应用程序线程提供包括当前和完成的更新缓冲区槽位的数据结构。 该方法包括为应用程序线程提供更新缓冲区,并在当前更新缓冲区槽中存储指向更新缓冲区的指针。 该方法包括在完成的更新缓冲区槽中存储空值,并与应用程序线程一起写入更新缓冲区。 在填充缓冲区之后,线程可能会在完成的更新缓冲区插槽中写入指向填充更新缓冲区的指针。 该方法包括使用垃圾回收器线程来检查已完成的更新缓冲区槽位并声明已填充的缓冲区,并将指针更改为null。 线程然后获得一个空的更新缓冲区,并更新当前的更新缓冲区槽位以指向新的缓冲区。

    System and method for asynchronous parallel garbage collection
    19.
    发明授权
    System and method for asynchronous parallel garbage collection 有权
    异步并行垃圾收集系统和方法

    公开(公告)号:US07933937B2

    公开(公告)日:2011-04-26

    申请号:US12028217

    申请日:2008-02-08

    CPC classification number: G06F12/0253

    Abstract: A system and method for asynchronously graying and blackening objects in the marking phase of parallel garbage collection. The system and method use a matrix to control a series of linked list of work to be grayed and blackened. The threads of the garbage collector are each assigned entries within the matrix upon which they may either gray an entry in the linked list or blacken and entry on the linked list. Further restrictions upon the use of the matrix allow non-garbage collection thread to asynchronously or synchronously add objects to be processed by the garbage collector.

    Abstract translation: 一种用于在并行垃圾收集标记阶段异物灰化和黑化对象的系统和方法。 系统和方法使用矩阵来控制一系列链接的工作列表,使其变灰和变黑。 垃圾收集器的线程各自分配在矩阵内的条目,在该矩阵中,它们可以灰色链接的列表中的条目或链接列表中的条目。 使用矩阵的进一步限制允许非垃圾收集线程异步或同步添加要由垃圾收集器处理的对象。

    Methods, apparatus, and program products for improved finalization
    20.
    发明授权
    Methods, apparatus, and program products for improved finalization 有权
    方法,设备和程序产品,以改进定稿

    公开(公告)号:US07890711B2

    公开(公告)日:2011-02-15

    申请号:US11787933

    申请日:2007-04-18

    CPC classification number: G06F12/0253

    Abstract: Apparatus, methods, and computer program products are disclosed that improve management of a dynamic memory area. One aspect is a method that reclaims memory referenced by a finalizable-object that has been instantiated from a class definition that incorporates at least one parent class and one or more class-extensions into a class hierarchy. The method includes marking for retention a related memory reachable from a reference field of the finalizable-object, and adding the finalizable-object to a finalization set for subsequent invocation of a non-trivial finalize-method. The method also determines whether the portion of the finalizable-object that includes the reference field to the related memory is a class-extension that has a finalizer-free characteristic and conditions the marking for retention on that determination. Thus, a portion the finalizable-object's related memory can be more quickly reclaimed from a dynamic memory area.

    Abstract translation: 公开了改善动态存储器区域的管理的装置,方法和计算机程序产品。 一个方面是回收由已定义的finalizable对象引用的内存的方法,该类定义将至少一个父类和一个或多个类扩展合并到类层次结构中。 该方法包括用于保留从可终结对象的参考字段可访问的相关存储器的标记,以及将可终止对象添加到用于后续调用非平凡终结方法的最终化对象。 该方法还确定包括对相关存储器的参考字段的可终结对象的部分是否具有具有无终结者的特性的类别扩展,并且在该确定的条件下保留标记。 因此,可以从动态存储器区域更快地回收可终结对象的相关存储器的一部分。

Patent Agency Ranking