Cooperative preemption mechanism for garbage-collected multi-threaded computation
    41.
    发明授权
    Cooperative preemption mechanism for garbage-collected multi-threaded computation 有权
    垃圾收集多线程计算的合作抢占机制

    公开(公告)号:US07831961B1

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

    申请号:US11373949

    申请日:2006-03-13

    IPC分类号: G06F9/44 G06F12/00

    摘要: By encoding an exception triggering value in storage referenced by an instruction in an otherwise unused slot (e.g., the delay slot of a delayed control transfer instruction or an unused instruction position in a VLIW-based architecture) coinciding with a safe point, an efficient coordination mechanism can be provided for multi-threaded code. Because the mechanism(s) impose negligible overhead when not employed and can be engaged in response to an event (e.g., a start garbage collection event), safe points can be defined at call, return and/or backward branch points throughout mutator code to reduce the latency between the event and suspension of all threads. Though particularly advantageous for thread suspension to perform garbage collection at safe points, the techniques described herein are more generally applicable to program suspension at coordination points coinciding with calls, returns, branches or calls, returns and branches therein.

    摘要翻译: 通过编码在另外未使用的时隙(例如,基于VLIW的架构中的延迟控制传送指令的延迟时隙或未使用的指令位置)中的指令引用的存储器中的异常触发值与安全点相符合,有效的协调 可以为多线程代码提供机制。 因为这种机制在没有被使用并且可以参与事件响应(例如,开始垃圾回收事件))时施加可忽略的开销,所以可以在整个变换器代码中的呼叫,返回和/或后向分支点定义安全点, 减少事件和所有线程暂停之间的延迟。 虽然在安全点执行垃圾回收的线程暂停特别有利,但是这里描述的技术更普遍地适用于与呼叫,返回,分支或呼叫,返回和分支在一致的协调点处的程序暂停。

    Associating data source information with runtime events
    42.
    发明授权
    Associating data source information with runtime events 有权
    将数据源信息与运行时事件相关联

    公开(公告)号:US07707554B1

    公开(公告)日:2010-04-27

    申请号:US10880485

    申请日:2004-06-30

    IPC分类号: G06F9/44

    摘要: Associating data source information with sampled runtime events allows identification of system components related to the sampled runtime events. Code can be optimized from the perspective of system components and for various architectures. A system provides a data source indication. The system associates the data source indication with a corresponding instruction instance. The instruction instance is related to a sampled runtime event, and the sampled runtime event is associated with the data source indication. The data source information and associated sampled runtime event can be supplied for profiling code.

    摘要翻译: 将数据源信息与采样的运行时事件相关联,可以识别与采样的运行时事件相关的系统组件。 代码可以从系统组件和各种架构的角度进行优化。 系统提供数据源指示。 该系统将数据源指示与相应的指令实例相关联。 指令实例与采样的运行时事件相关,并且采样的运行时事件与数据源指示相关联。 可以为分析代码提供数据源信息和关联的采样运行时事件。

    Method for monitoring heap for memory leaks
    43.
    发明授权
    Method for monitoring heap for memory leaks 有权
    监视堆内存泄漏的方法

    公开(公告)号:US07325106B1

    公开(公告)日:2008-01-29

    申请号:US10893090

    申请日:2004-07-16

    IPC分类号: G06F12/02

    CPC分类号: G06F12/0253

    摘要: A low overhead method for identifying memory leaks is provided. The low overhead method includes a) detecting completion of a garbage collection cycle; and b) identifying a boundary between used objects in memory and free memory space. The steps of a) and b) are repeated and then it is determined if there is an existing memory leak based upon evaluation of boundary identifiers. A computer readable media and a system for identifying memory leaks for an object-oriented application are also provided.

    摘要翻译: 提供了一种用于识别内存泄漏的低开销方法。 低开销方法包括:a)检测垃圾收集周期的完成; 和b)识别存储器中的被使用对象和可用存储器空间之间的边界。 重复a)和b)的步骤,然后根据边界标识符的评估确定是否存在现有的内存泄漏。 还提供了计算机可读介质和用于识别面向对象应用的内存泄漏的系统。

    Method and apparatus for improving compiler performance during
subsequent compilations of a source program
    44.
    发明授权
    Method and apparatus for improving compiler performance during subsequent compilations of a source program 失效
    用于在源程序的后续编译期间提高编译器性能的方法和装置

    公开(公告)号:US6078744A

    公开(公告)日:2000-06-20

    申请号:US905294

    申请日:1997-08-01

    IPC分类号: G06F9/45

    CPC分类号: G06F9/45516 G06F8/48

    摘要: Apparatus, methods, and computer program products are disclosed for improving the performance of subsequent compilations of a source program. The initial compilation of the source program journals computationally expensive intermediate compilation data. Subsequent compilations, instead of recomputing this data, uses the intermediate compilation data from the journal. Thus the compiler has improved performance during subsequent compilations of the source program. One aspect of the invention applies to dynamic compilers to reduce the startup delay caused by compiling the source program when the program is invoked.

    摘要翻译: 公开了用于提高源程序的后续编译的性能的装置,方法和计算机程序产品。 初始编译源程序期刊计算昂贵的中间编译数据。 后续编译,而不是重新计算此数据,使用期刊的中间编译数据。 因此,编译器在源程序的后续编译期间具有改进的性能。 本发明的一个方面适用于动态编译器,以减少在调用程序时通过编译源程序引起的启动延迟。

    Method and apparatus for optimizing exact garbage collection using a
bifurcated data structure
    45.
    发明授权
    Method and apparatus for optimizing exact garbage collection using a bifurcated data structure 失效
    使用分岔数据结构优化精确垃圾收集的方法和装置

    公开(公告)号:US5900001A

    公开(公告)日:1999-05-04

    申请号:US842195

    申请日:1997-04-23

    IPC分类号: G06F12/00 G06F12/02 G06F17/30

    摘要: Apparatus, methods, systems and computer program products are disclosed describing a data structure and associated processes that optimize garbage collection techniques. The disclosed data structure can be used as an instantiated object in an object-oriented programming environment. The data structure uses a data structure header to separate the portion of the data structure that contains pointer values from the portion of the data structure that contains non-pointer values. The contents of the first word of the data structure header is distinguishable from any pointer value. Thus, a garbage collection procedure can more rapidly locate the pointer values in the data structure. Another advantage of this data structure organization, when applied to instantiated objects, is that the position of an instance variable (with respect to the object header structure) remains constant for all instantiated objects including those based on subclasses of the original class.

    摘要翻译: 披露了描述数据结构和优化垃圾收集技术的相关过程的装置,方法,系统和计算机程序产品。 公开的数据结构可以用作面向对象的编程环境中的实例化对象。 数据结构使用数据结构头来从包含非指针值的数据结构部分中分离包含指针值的数据结构部分。 数据结构头的第一个字的内容与任何指针值都是区别开来的。 因此,垃圾收集过程可以更快速地将数据结构中的指针值定位。 当应用于实例化对象时,该数据结构组织的另一个优点是实例变量(相对于对象头结构)的位置对于所有实例化对象(包括基于原始类的子类的实例化对象)保持不变。

    TRACKING OBJECT FIELDS USING RELOCATABLE OBJECT WATCHPOINTS
    46.
    发明申请
    TRACKING OBJECT FIELDS USING RELOCATABLE OBJECT WATCHPOINTS 有权
    使用可靠的对象观察器跟踪对象字段

    公开(公告)号:US20110302183A1

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

    申请号:US12792685

    申请日:2010-06-02

    IPC分类号: G06F17/30

    摘要: A method for managing an object watchpoint during a garbage collection cycle, including identifying an object having a field, where the object is associated with an original object location, where the field is associated with an original field location, and where the object and the field are located in a memory heap of a virtual machine memory, setting, within a debugger, the object watchpoint on the original field location, where the object watchpoint is a memory trap associated with the object, determining, after a relocation of the object by a garbage collector (GC), a new object location associated with the object, determining a new field location of the field based on the new object location, and setting, within the debugger, the object watchpoint on the new field location.

    摘要翻译: 一种用于在垃圾收集周期期间管理对象观察点的方法,包括识别具有字段的对象,其中所述对象与原始对象位置相关联,其中所述字段与原始字段位置相关联,并且所述对象和字段 位于虚拟机内存的内存堆中,在调试器内设置原始字段位置上的对象观察点,其中对象观察点是与对象相关联的内存陷阱,在通过对象重定位对象之后,确定 垃圾收集器(GC),与对象相关联的新对象位置,基于新对象位置确定字段的新字段位置,以及在调试器内设置新字段位置上的对象观察点。

    Method and apparatus to facilitate testing of garbage collection implementations
    47.
    发明授权
    Method and apparatus to facilitate testing of garbage collection implementations 有权
    便利测试垃圾收集实现的方法和装置

    公开(公告)号:US06745213B2

    公开(公告)日:2004-06-01

    申请号:US09992063

    申请日:2001-11-21

    IPC分类号: G06F1730

    CPC分类号: G06F12/0253 Y10S707/99957

    摘要: One embodiment of the present mechanism provides a system to facilitate testing of garbage collection implementations. The system operates by first receiving a trace of valid memory transactions at a test harness. This trace of valid memory transactions is replayed through the test harness into a memory manager, which includes a garbage collection implementation under test. The results of replaying this trace are then observed to verify that the garbage collection implementation under test does not erroneously change the contents of the memory.

    摘要翻译: 本机构的一个实施例提供了一种便于对垃圾收集实现的测试的系统。 该系统首先在测试工具上接收到有效的存储器事务的踪迹。 这种有效内存事务的跟踪通过测试工具重播到内存管理器中,该内存管理器包括被测试的垃圾回收实现。 然后观察重播该跟踪的结果,以验证被测垃圾回收实现不会错误地更改内存的内容。