Reducing the overhead involved in executing native code in a virtual machine through binary reoptimization
    1.
    发明授权
    Reducing the overhead involved in executing native code in a virtual machine through binary reoptimization 有权
    通过二进制重新优化减少在虚拟机中执行本地代码所涉及的开销

    公开(公告)号:US07840951B1

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

    申请号:US10646309

    申请日:2003-08-22

    CPC classification number: G06F8/53 G06F9/45516 G06F9/45533

    Abstract: One embodiment of the present invention provides a system that reduces the overhead involved in executing a native code method in an application running on a virtual machine. During operation, the system selects a call to a native code method to be optimized within the virtual machine, decompiles at least part of the native code method into an intermediate representation, and obtains an intermediate representation associated with the application. Next, the system combines the intermediate representation for the native code method with the intermediate representation associated with the application running on the virtual machine to form a combined intermediate representation, and generates native code from the combined intermediate representation, wherein the native code generation process optimizes interactions between the application running on the virtual machine and the native code method. A variation on this embodiment involves optimizing callbacks by the native code method into the virtual machine.

    Abstract translation: 本发明的一个实施例提供一种减少在虚拟机上运行的应用中执行本地代码方法所涉及的开销的系统。 在操作期间,系统选择对本机代码方法的调用以在虚拟机内进行优化,将至少部分本地代码方法反编译成中间表示,并获得与应用相关联的中间表示。 接下来,系统将本地代码方法的中间表示与在虚拟机上运行的应用程序相关联的中间表示形成组合的中间表示,并从组合的中间表示生成本地代码,其中本地代码生成过程优化 在虚拟机上运行的应用程序与本地代码方法之间的交互。 该实施例的变体涉及将本地代码方法的回调优化到虚拟机中。

    Method and apparatus for facilitating in-cache reference counting
    2.
    发明授权
    Method and apparatus for facilitating in-cache reference counting 有权
    用于促进缓存中引用计数的方法和装置

    公开(公告)号:US07774546B1

    公开(公告)日:2010-08-10

    申请号:US11155276

    申请日:2005-06-17

    CPC classification number: G06F12/0802 G06F12/0253

    Abstract: One embodiment of the present invention provides a system that facilitates in-cache reference counting in a cache memory. During operation, the system receives a command to update an old cache line with a new cache line. The system then determines if the new cache line is different than the old cache line. If so, the system determines if the old cache line contains any in-cache references. If so, for each such in-cache reference, the system decrements a reference counter in a cache line containing an object which is referenced by the in-cache reference. The system also determines if the new cache line contains any in-cache references. If so, for each such in-cache reference, the system increments a reference counter in a cache line containing an object which is referenced by the in-cache reference. Note that the reference counter in a cache line indicates a count of references in the cache that refer to an object contained in the cache line.

    Abstract translation: 本发明的一个实施例提供了一种有助于高速缓存存储器中的高速缓存引用计数的系统。 在操作期间,系统接收到使用新的高速缓存行更新旧缓存行的命令。 然后,系统确定新的高速缓存行是否与旧的高速缓存行不同。 如果是这样,系统确定旧的高速缓存行是否包含任何缓存中的引用。 如果是这样,对于每个这样的高速缓存引用,系统递减包含由缓存内引用引用的对象的高速缓存行中的引用计数器。 该系统还确定新的高速缓存行是否包含任何缓存中的引用。 如果是这样,对于每个这样的缓存引用,系统会增加包含由缓存内引用引用的对象的高速缓存行中的引用计数器。 请注意,缓存行中的引用计数器指示缓存中引用包含在高速缓存行中的对象的引用计数。

    Method and apparatus for supporting read-only objects within an object-addressed memory hierarchy
    3.
    发明授权
    Method and apparatus for supporting read-only objects within an object-addressed memory hierarchy 有权
    用于在对象寻址的存储器层级中支持只读对象的方法和装置

    公开(公告)号:US07249225B1

    公开(公告)日:2007-07-24

    申请号:US10698727

    申请日:2003-10-31

    CPC classification number: G06F12/0815 G06F12/0875 G06F12/1063 Y10S707/99944

    Abstract: One embodiment of the present invention provides a system that supports read-only objects within an object-addressed memory hierarchy. During operation, the system receives a request to access an object, wherein the request includes an object identifier for the object that is used to reference the object within the object-addressed memory hierarchy. In response to this request, the system uses the object identifier to retrieve an object table entry associated with the object. If the request is a write request, the system examines a read-only indicator within the object table entry. If this read-only indicator specifies that the object is a read-only object, the system performs a corrective action to deal with the fact that the write request is directed to a read-only object.

    Abstract translation: 本发明的一个实施例提供一种支持对象寻址存储器层级内的只读对象的系统。 在操作期间,系统接收访问对象的请求,其中请求包括用于引用对象寻址的存储器层次结构内的对象的对象的对象标识符。 响应于该请求,系统使用对象标识符来检索与对象相关联的对象表条目。 如果请求是写请求,系统将检查对象表条目中的只读指示符。 如果此只读指示符指定对象是只读对象,则系统将执行纠正措施来处理写入请求被引导到只读对象的事实。

    Method and system for handling queue overflow during in-cache garbage collection
    4.
    发明授权
    Method and system for handling queue overflow during in-cache garbage collection 有权
    在缓存内垃圾收集过程中处理队列溢出的方法和系统

    公开(公告)号:US07120750B1

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

    申请号:US10826589

    申请日:2004-04-16

    Abstract: In a method for handling queue overflow in an in-cache garbage collection process, a first object cache is scanned to identify live objects. If the identified live objects reside in the first object cache, then the object identifiers (OIDs) for the identified live objects are stored in a first broadcast queue associated with the first object cache. For live objects that were not processed due to an overflow of the first broadcast queue, bits are set in a register to identify portions of the first object cache that include live objects that were not processed. To locate the unprocessed live objects for processing, the first object cache is rescanned, but only the portions of the first object cache that are identified by the bits set in register are rescanned. A system for managing queue overflow in an in-cache garbage collection process carried out in a multi-processor environment also is described.

    Abstract translation: 在缓存垃圾收集过程中处理队列溢出的方法中,扫描第一个对象缓存以识别活动对象。 如果所识别的活动对象驻留在第一对象高速缓存中,则所识别的活动对象的对象标识符(OID)被存储在与第一对象高速缓存相关联的第一广播队列中。 对于由于第一个广播队列的溢出而未被处理的活动对象,将位设置在寄存器中,以识别包含未处理的活动对象的第一个对象缓存的部分。 要定位未处理的活动对象进行处理,第一个对象缓存被重新扫描,但仅重新扫描由在寄存器中设置的位标识的第一个对象缓存的部分。 还描述了在多处理器环境中执行的缓存内垃圾收集过程中的管理队列溢出的系统。

    METHOD AND SYSTEM FOR HARDWARE-BASED SECURITY OF OBJECT REFERENCES
    5.
    发明申请
    METHOD AND SYSTEM FOR HARDWARE-BASED SECURITY OF OBJECT REFERENCES 有权
    用于基于硬件的对象参考安全的方法和系统

    公开(公告)号:US20090327666A1

    公开(公告)日:2009-12-31

    申请号:US12145657

    申请日:2008-06-25

    Abstract: A method for managing data, including obtaining a first instruction for moving a first data item from a first source to a first destination, determining a data type of the first data item, determining a data type supported by the first destination, comparing the data type of the first data item with the data type supported by the first destination to test a validity of the first instruction, and moving the first data item from the first source to the first destination based on the validity of the first instruction.

    Abstract translation: 一种用于管理数据的方法,包括获得用于将第一数据项从第一源移动到第一目的地的第一指令,确定第一数据项的数据类型,确定由第一目的地支持的数据类型,比较数据类型 具有由第一目的地支持的数据类型的第一数据项以测试第一指令的有效性,以及基于第一指令的有效性将第一数据项从第一源移动到第一目的地。

    Method and apparatus for skewing a bi-directional object layout to improve cache performance
    6.
    发明授权
    Method and apparatus for skewing a bi-directional object layout to improve cache performance 有权
    用于偏斜双向对象布局以提高高速缓存性能的方法和装置

    公开(公告)号:US07246141B2

    公开(公告)日:2007-07-17

    申请号:US10335621

    申请日:2003-01-02

    CPC classification number: G06F12/0886 Y10S707/99953 Y10S707/99956

    Abstract: One embodiment of the present invention facilitates skewing a bi-directional object layout to provide good cache behavior. During operation, the system receives a request to access an object. This request includes an object identifier and an object offset that specifies the offset of a target field within the object, wherein the object has a bi-directional layout that locates scalar fields at positive offsets and reference fields at negative offsets, so that a reference field can be immediately identified from its object offset. Next, the system determines a skew value for a cache line containing the object, wherein data within the cache line is shifted based upon the skew value, so that reference fields with small negative offsets are likely to be located in the same cache line as scalar fields with small positive offsets. Next, the system uses the skew value in accessing the object.

    Abstract translation: 本发明的一个实施例有助于扭曲双向对象布局以提供良好的缓存行为。 在操作期间,系统接收访问对象的请求。 该请求包括对象标识符和对象偏移量,该对象标识符和对象偏移量指定对象内的目标字段的偏移量,其中对象具有双向布局,其在负偏移处以正偏移量和参考字段定位标量字段,使得参考字段 可以从其对象偏移中立即识别。 接下来,系统确定包含对象的高速缓存行的偏斜值,其中高速缓存行内的数据基于偏差值移位,使得具有小的负偏移的参考字段可能位于与标量相同的高速缓存行中 具有小正偏移的场。 接下来,系统在访问对象时使用偏斜值。

    Object-addressed memory hierarchy that facilitates accessing objects stored outside of main memory
    7.
    发明授权
    Object-addressed memory hierarchy that facilitates accessing objects stored outside of main memory 有权
    对象寻址的存储器层次结构,便于访问存储在主存储器外部的对象

    公开(公告)号:US07171540B1

    公开(公告)日:2007-01-30

    申请号:US10698728

    申请日:2003-10-31

    CPC classification number: G06F12/0897 G06F12/1045 Y10S707/99933

    Abstract: One embodiment of the present invention provides an object-addressed memory hierarchy that is able to access objects stored outside of main memory. During operation, the system receives a request to access an object, wherein the request includes an object identifier for the object that is used to reference the object within the object-addressed memory hierarchy. Next, the system uses the object identifier to retrieve an object table entry associated with the object. The system then examines a valid bit within the object table entry. If the valid bit indicates the object is located in main memory, the system uses a physical address in the object table entry to access the object in main memory. On the other hand, if the valid bit indicates that the object is not located in main memory, the system relocates the object into memory from a location outside of memory, and then accesses the object in main memory.

    Abstract translation: 本发明的一个实施例提供了一种能够访问存储在主存储器外部的对象的物体寻址存储器层级。 在操作期间,系统接收访问对象的请求,其中请求包括用于引用对象寻址的存储器层次结构内的对象的对象的对象标识符。 接下来,系统使用对象标识符来检索与对象相关联的对象表条目。 然后系统检查对象表条目中的有效位。 如果有效位表示对象位于主存储器中,则系统使用对象表条目中的物理地址访问主内存中的对象。 另一方面,如果有效位指示对象不位于主存储器中,则系统从存储器外部的位置将对象重新定位到存储器中,然后访问主存储器中的对象。

    Method and system for hardware-based security of object references
    8.
    发明授权
    Method and system for hardware-based security of object references 有权
    对象引用的基于硬件的安全性的方法和系统

    公开(公告)号:US08732442B2

    公开(公告)日:2014-05-20

    申请号:US12145657

    申请日:2008-06-25

    Abstract: A method for managing data, including obtaining a first instruction for moving a first data item from a first source to a first destination, determining a data type of the first data item, determining a data type supported by the first destination, comparing the data type of the first data item with the data type supported by the first destination to test a validity of the first instruction, and moving the first data item from the first source to the first destination based on the validity of the first instruction.

    Abstract translation: 一种用于管理数据的方法,包括获得用于将第一数据项从第一源移动到第一目的地的第一指令,确定第一数据项的数据类型,确定由第一目的地支持的数据类型,比较数据类型 具有由第一目的地支持的数据类型的第一数据项以测试第一指令的有效性,以及基于第一指令的有效性将第一数据项从第一源移动到第一目的地。

    Memory management system that supports both address-referenced objects and identifier-referenced objects
    9.
    发明授权
    Memory management system that supports both address-referenced objects and identifier-referenced objects 有权
    支持地址引用对象和标识符引用对象的内存管理系统

    公开(公告)号:US07761486B2

    公开(公告)日:2010-07-20

    申请号:US11325383

    申请日:2006-01-03

    CPC classification number: G06F12/0253

    Abstract: One embodiment of the present invention provides a memory-management system that supports both address-referenced objects and identifier-referenced objects, wherein an address-referenced object is accessed through a reference containing an address of the object, and wherein an identifier-referenced object is accessed through a reference containing an object identifier (OID) for the object. During operation, the system receives a request to access an object. Next, the system determines if the object is an address-referenced object or an identifier-referenced object. If the object is an address-referenced object, the system accesses the object using the associated address for the object. If the object is an identifier-referenced object, the system accesses the object by using the associated OID for the object to look up the address for the object, and then using the address to access the object.

    Abstract translation: 本发明的一个实施例提供了一种支持地址引用对象和标识符引用对象的存储器管理系统,其中通过包含对象的地址的引用来访问地址引用对象,并且其中标识符引用的对象 通过包含对象的对象标识符(OID)的引用进行访问。 在操作期间,系统接收访问对象的请求。 接下来,系统确定对象是地址引用对象还是标识符引用对象。 如果对象是地址引用对象,则系统使用对象的关联地址访问对象。 如果对象是标识符引用的对象,则系统通过使用关联的OID来访问对象,以查找对象的地址,然后使用该地址访问该对象。

    Method and apparatus for maintaining an object-based write barrier to facilitate garbage-collection operations
    10.
    发明授权
    Method and apparatus for maintaining an object-based write barrier to facilitate garbage-collection operations 有权
    用于维护基于对象的写入障碍以便于垃圾收集操作的方法和装置

    公开(公告)号:US07483930B1

    公开(公告)日:2009-01-27

    申请号:US10903169

    申请日:2004-07-29

    Abstract: One embodiment of the present invention provides a system that facilitates identifying roots for a garbage-collection operation in a computer system that supports an object-addressed memory hierarchy. In order to identify roots, the system first looks up an object table entry that corresponds to an object in an object cache, wherein the object table entry contains an evicted bit, which is set when any part of the modified object is evicted from the object cache, and a corresponding physical address for the object in main memory. Next, the system determines if the evicted bit is set in the object table entry, and if so, examines the object corresponding to the object table entry to determine if the object contains references to the target area in the object heap that is being garbage collected. If so, the system uses the references as roots for a subsequent garbage-collection operation of the target area.

    Abstract translation: 本发明的一个实施例提供一种便于识别在支持对象寻址的存储器层次的计算机系统中的垃圾收集操作的根的系统。 为了识别根,系统首先查找与对象高速缓存中的对象相对应的对象表条目,其中对象表条目包含被驱逐的位,当被修改的对象的任何部分被从对象中逐出时被设置 缓存和主存储器中对象的相应物理地址。 接下来,系统确定是否在对象表条目中设置了被驱逐的位,如果是,则检查与对象表条目对应的对象,以确定对象是否包含对被垃圾回收的对象堆中的目标区域的引用 。 如果是这样,系统将使用引用作为根,用于目标区域的后续垃圾回收操作。

Patent Agency Ranking