Dynamic division optimization for a just-in-time compiler
    83.
    发明授权
    Dynamic division optimization for a just-in-time compiler 失效
    一个即时编译器的动态划分优化

    公开(公告)号:US07194736B2

    公开(公告)日:2007-03-20

    申请号:US10316596

    申请日:2002-12-10

    IPC分类号: G06F9/45

    CPC分类号: G06F9/45516

    摘要: An arrangement is provided for improving the performance of a dynamic compiler, specifically for dynamically optimizing integer division operations. When a compiler receives an integer division code at runtime, the compiler dynamically profiles a divisor of the division code. The integer division code is then optimized based on the characteristics of the divisor, which are determined at runtime.

    摘要翻译: 提供了一种用于提高动态编译器性能的布置,特别是用于动态优化整数除法运算。 当编译器在运行时接收到整数分割代码时,编译器会动态地分配除法代码的除数。 然后,基于在运行时确定的除数的特性来优化整数除法代码。

    Inter-procedural allocation of stacked registers for a processor
    84.
    发明授权
    Inter-procedural allocation of stacked registers for a processor 有权
    用于处理器的堆叠寄存器的程序间分配

    公开(公告)号:US07120775B2

    公开(公告)日:2006-10-10

    申请号:US10747426

    申请日:2003-12-29

    IPC分类号: G06F12/00

    CPC分类号: G06F8/441

    摘要: A method for an allocation of stacked registers for Intel's Itanium® processor includes a three step process. Step I determines an intra-procedural stacked register usage by a program having a plurality of procedures. In step II, the disclosed method performs an inter-procedural analysis to assign quota of stacked register usage to every procedure. In step III, each procedure is allocated stacked register usage based on the quota assignments of step II.

    摘要翻译: 英特尔安腾(R)处理器分配堆叠寄存器的方法包括三步骤过程。 步骤I通过具有多个过程的程序来确定程序内堆叠的寄存器使用。 在步骤II中,所公开的方法执行程序间分析以将堆叠的寄存器使用的配额分配给每个过程。 在步骤III中,基于步骤II的配额分配,分配每个过程的堆叠寄存器使用。

    Garbage collection and compaction
    85.
    发明申请
    Garbage collection and compaction 审中-公开
    垃圾收集和压实

    公开(公告)号:US20060173939A1

    公开(公告)日:2006-08-03

    申请号:US11048266

    申请日:2005-01-31

    IPC分类号: G06F17/30

    CPC分类号: G06F12/0253

    摘要: Provided are a method, system, and article of manufacture, wherein a plurality of objects are allocated in dynamic memory. Reversed references are determined for the plurality of objects, wherein a reversed reference corresponding to an object is an address of a location that has a valid reference to the object. Unreferenced objects are deleted to fragment the dynamic memory. The fragmented dynamic memory is compacted via adjustments to the reversed references.

    摘要翻译: 提供了一种方法,系统和制品,其中多个对象被分配在动态存储器中。 对于多个对象确定反向引用,其中对应于对象的反向引用是具有对对象的有效引用的位置的地址。 删除未引用的对象以对动态内存进行分片。 碎片动态存储器通过对反向引用的调整进行压缩。

    Debugging support using dynamic re-compilation
    86.
    发明授权
    Debugging support using dynamic re-compilation 失效
    调试支持使用动态重新编译

    公开(公告)号:US06968546B2

    公开(公告)日:2005-11-22

    申请号:US09822090

    申请日:2001-03-30

    申请人: Guei-Yuan Lueh

    发明人: Guei-Yuan Lueh

    IPC分类号: G06F9/45 G06F11/36

    摘要: The present invention is a method and system to support debug. A function is re-compiled when a field watch for a field is activated. The function includes a byte code sequence having a field byte code that accesses or modifies the field. The re-compiled function provides a native code and occupies a code space. An instrumentation code corresponding to the field watch of the field is generated. The instrumentation code is inserted to the native code.

    摘要翻译: 本发明是一种支持调试的方法和系统。 激活字段的字段监视时,会重新编译一个函数。 该功能包括具有访问或修改该字段的字段字节码的字节码序列。 重新编译的函数提供一个本地代码并占用一个代码空间。 生成与场的视野对应的仪表代码。 仪器代码被插入本机代码。

    Apparatus and methods for placing a managed heap
    87.
    发明申请
    Apparatus and methods for placing a managed heap 失效
    放置托管堆的装置和方法

    公开(公告)号:US20050246402A1

    公开(公告)日:2005-11-03

    申请号:US10837126

    申请日:2004-05-01

    摘要: Methods and apparatus are disclosed to intelligently place a managed heap in a memory. An example method disclosed herein identifies a current boundary of a static data region in memory, and sets a lower boundary of the managed heap at an address located a safeguard distance above the identified current boundary of the static data region in memory. Other embodiments may be described and claimed.

    摘要翻译: 披露了将受管理的堆置于存储器中的方法和装置。 本文中公开的示例性方法标识存储器中静态数据区域的当前边界,并且将被管理堆栈的下边界设置在位于存储器中静态数据区域的所识别的当前边界之上的保护距离的地址处。 可以描述和要求保护其他实施例。

    Integration of mark bits and allocation bits
    88.
    发明申请
    Integration of mark bits and allocation bits 有权
    标记位和分配位的集成

    公开(公告)号:US20050216539A1

    公开(公告)日:2005-09-29

    申请号:US10810164

    申请日:2004-03-26

    IPC分类号: G06F7/00

    摘要: A method, apparatus, and system are provided for integrating mark bits and allocation bits. According to one embodiment, a single space is allocated for accommodating a mark bit and an allocation bit. The mark bit and the allocation bit are integrated into a mark/allocation bit using the single space allocated. The mark/allocation bit then used to correspond to an object in a heap.

    摘要翻译: 提供了一种集成标记位和分配位的方法,装置和系统。 根据一个实施例,分配单个空间用于容纳标记位和分配位。 使用分配的单个空间将标记位和分配位集成到标记/分配位中。 标记/分配位然后用于对应于堆中的对象。

    Mechanism to store reordered data with compression
    89.
    发明申请
    Mechanism to store reordered data with compression 失效
    通过压缩来存储重新排序的数据的机制

    公开(公告)号:US20050144386A1

    公开(公告)日:2005-06-30

    申请号:US10747470

    申请日:2003-12-29

    IPC分类号: G06F12/08 H03M7/30 G06F12/00

    摘要: According to one embodiment a computer system is disclosed. The computer system includes a central processing unit (CPU), a cache memory coupled to the CPU and a cache controller, coupled to the cache memory. The cache memory includes a plurality of compressible cache lines to store additional data. The cache controller reorders a cache line after each access to the cache line prior to the compression of the cache line into a compressed cache line.

    摘要翻译: 根据一个实施例,公开了一种计算机系统。 计算机系统包括中央处理单元(CPU),耦合到CPU的高速缓冲存储器和耦合到高速缓冲存储器的高速缓存控制器。 高速缓冲存储器包括多个可压缩的高速缓存线以存储附加数据。 在将高速缓存行压缩到压缩高速缓存行之前,高速缓存控制器在对高速缓存行进行每次访问之后重新排序高速缓存行。

    Method of run-time tracking of object references in Java programs
    90.
    发明授权
    Method of run-time tracking of object references in Java programs 有权
    Java程序中对象引用的运行时跟踪方法

    公开(公告)号:US06317869B1

    公开(公告)日:2001-11-13

    申请号:US09587233

    申请日:2000-06-02

    IPC分类号: G06F944

    摘要: Many programming languages utilize reference pointers in computer code. Furthermore, some of these programming languages perform memory management in the form of garbage collection. Once such language is Java. During the execution of a garbage collection routine, the computer may need to locate all the variables containing reference values. The present invention introduces a method for run-time tracking of object references in computer code and determining which variables contain references to objects at garbage collection sites. The method of the present invention first creates a bit vector in memory. The bit vector is then initialized. Second, each variable declared in the computer program that may be used to store a reference value is assigned a unique bit within this bit vector. Each bit is maintained to indicate whether the variable it is assigned to is currently storing a reference value. Specifically, when a variable is assigned a reference value, the corresponding bit in the bit vector is set. When a variable is assigned a non-reference value, the corresponding bit in the bit vector is cleared.

    摘要翻译: 许多编程语言都使用计算机代码中的参考指针。 此外,这些编程语言中的一些以垃圾收集的形式执行内存管理。 一旦这样的语言是Java。 在执行垃圾回收程序期间,计算机可能需要定位包含引用值的所有变量。 本发明引入了一种用于计算机代码中对象引用的运行时跟踪的方法,并且确定哪些变量包含对垃圾收集站点上的对象的引用。 本发明的方法首先在存储器中产生位向量。 然后初始化位向量。 第二,在计算机程序中声明的可用于存储参考值的每个变量在该位向量中被分配一个唯一的位。 维持每个位以指示其被分配的变量当前是否存储参考值。 具体地说,当变量被赋予参考值时,位向量中的相应位被置位。 当变量分配了非参考值时,位向量中的相应位将被清除。