System and method for performing garbage collection based on unmanaged memory allocations
    21.
    发明授权
    System and method for performing garbage collection based on unmanaged memory allocations 有权
    基于非托管内存分配执行垃圾收集的系统和方法

    公开(公告)号:US07822938B2

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

    申请号:US10969301

    申请日:2004-10-20

    IPC分类号: G06F12/00

    CPC分类号: G06F12/0253 Y10S707/99957

    摘要: The techniques and mechanisms described herein are directed to a method for performing garbage collection based on the total memory consumed by managed objects on a heap. The total memory includes heap memory and unmanaged memory. The garbage collector accepts input that indicates the amount of unmanaged memory and associates this amount with the managed object. The garbage collector then adjusts a collection strategy for the managed object based on the input. The input is sent to the garbage collector if the allocated amount meets a certain criteria in comparison with the size of the managed object on the heap. The amount may be automatically disassociated with the managed object when the managed is destroyed or the garbage collector may receive another input that removes the amount from being associated with the managed object.

    摘要翻译: 这里描述的技术和机制针对一种用于基于堆上受管对象消耗的总内存来执行垃圾收集的方法。 总内存包括堆内存和非托管内存。 垃圾收集器接受指示非托管内存量的输入,并将该金额与被管理对象相关联。 然后,垃圾回收器根据输入调整受管对象的收集策略。 如果分配的数量与堆上的受管对象的大小相比符合特定标准,则将输入发送到垃圾收集器。 当托管销毁时,该数量可能会自动与被管理对象取消关联,或垃圾收集器可能会收到另一个输入,该输入会将该金额与被管理对象关联。

    System and method for sharing objects between applications in a virtual runtime environment
    22.
    发明授权
    System and method for sharing objects between applications in a virtual runtime environment 有权
    用于在虚拟运行时环境中的应用程序之间共享对象的系统和方法

    公开(公告)号:US07665077B2

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

    申请号:US10967607

    申请日:2004-10-18

    IPC分类号: G06F9/44

    CPC分类号: G06F9/44563

    摘要: The techniques and mechanisms described herein are directed at sharing objects between applications executing in a virtual runtime environment. The techniques include compiling a cpu-independent file to create executable instructions that are associated with an application that is executable in a virtual runtime environment. A constructor associated with a shareable class defined within the cpu-independent file is executed to create an instance of a shareable object. The shareable object is then persisted in a manner such that other applications executing in the virtual runtime environment may access the shareable object. The technique may be performed during pre-JIT compilation or just-in-time compilation of the cpu-independent file. The execution of the constructor is performed at a restricted security level that prevents access to changeable information when generating static data for the static members of the shareable object.

    摘要翻译: 本文描述的技术和机制针对在虚拟运行时环境中执行的应用之间共享对象。 这些技术包括编译独立于cpu的文件,以创建与在虚拟运行时环境中可执行的应用程序相关联的可执行指令。 执行与与cpu无关文件中定义的可共享类相关联的构造函数,以创建可共享对象的实例。 然后可共享对象以使得在虚拟运行时环境中执行的其他应用程序可以访问可共享对象的方式被保持。 该技术可以在JIT编译期间执行,也可以及时编译不依赖cpu的文件。 构造函数的执行是在受限的安全级别执行的,该级别在生成可共享对象的静态成员的静态数据时阻止访问可更改的信息。

    PROVIDING A PUBLISHING MECHANISM FOR MANAGED OBJECTS
    23.
    发明申请
    PROVIDING A PUBLISHING MECHANISM FOR MANAGED OBJECTS 有权
    提供管理对象的发布机制

    公开(公告)号:US20090254596A1

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

    申请号:US12099481

    申请日:2008-04-08

    IPC分类号: G06F12/02 G06F17/30

    CPC分类号: G06F12/0276

    摘要: Publishing an object. Memory for an object may be reserved so as to lock the memory from being access by garbage collection threads or other user threads. While the lock is in place, type and size information can be installed for the object. If the reservation is being made to allow garbage collection threads to operate on the object, then the type may be a specialized type that indicates that the object has no references. Reservations can also be made to allow the intended type information to be installed for the object. An indication can be made that the object is well formed, thus unlocking the object and allowing garbage collection threads, other user threads, or both to access the object. The locking and unlocking may be performed by accessing an API provided by a system garbage collector.

    摘要翻译: 发布对象 可以保留对象的内存,以便锁定内存不被垃圾回收线程或其他用户线程访问。 当锁定到位时,可以为对象安装类型和大小信息。 如果正在进行保留​​以允许垃圾收集线程对对象进行操作,则该类型可以是指示对象没有引用的专门类型。 也可以进行预约以允许为对象安装预期的类型信息。 可以指示对象形成良好,从而解锁对象并允许垃圾收集线程,其他用户线程或二者访问该对象。 锁定和解锁可以通过访问由系统垃圾收集器提供的API来执行。

    Systems and methods for multiprocessor scalable write barrier
    24.
    发明授权
    Systems and methods for multiprocessor scalable write barrier 有权
    用于多处理器可扩展写入屏障的系统和方法

    公开(公告)号:US07284108B2

    公开(公告)日:2007-10-16

    申请号:US11233909

    申请日:2005-09-23

    申请人: Patrick H. Dussud

    发明人: Patrick H. Dussud

    IPC分类号: G06F12/06

    摘要: Systems and methods providing a multiprocessor scalable write barrier to a main memory card table are described. The main memory is divided into multiple cards bit-mapped by the card table. In one aspect, an application store operation (reference) associated with one of the cards is detected. Responsive to detecting the reference, card table bit(s) that are mapped to the card are evaluated. Responsive to determining that the bit(s) have already been marked as dirty, the card table bit(s) are not again marked. This technique effectively reduces the probability of more than a single overlapping write operation to a card table cache line by two or more processors in the system.

    摘要翻译: 描述了向主存储卡表提供多处理器可扩展写入屏障的系统和方法。 主存储器被卡片表分为多个卡片位映射。 在一个方面,检测与一个卡相关联的应用程序存储操作(引用)。 响应于检测参考,评估映射到卡的卡表位。 响应于确定该位已被标记为脏,则卡表位不再被标记。 该技术有效地减少系统中两个或多个处理器对卡表缓存行进行单次重叠写入操作的概率。

    Method and system for compiling multiple languages
    25.
    发明授权
    Method and system for compiling multiple languages 有权
    用于编译多种语言的方法和系统

    公开(公告)号:US06836883B1

    公开(公告)日:2004-12-28

    申请号:US09598105

    申请日:2000-06-21

    IPC分类号: G06F945

    CPC分类号: G06F8/47

    摘要: A method and system for compiling multiple source language files that share a common library. The common library is represented in a common language that can be used by multiple different source languages. Font end compiler systems read the common language files that make up the common library and the source language files that use the library. Additionally, the front end systems produce common language files. The common language files produced by the front end systems can be used in the common library. The common language files may also be supplied to a back end system or runtime environment that further compiles the common language file to an executable form and executes the file. At runtime, the common language file is used by the runtime environment to layout the objects and methods used during execution.

    摘要翻译: 用于编译共享公共库的多个源语言文件的方法和系统。 公共库以通用语言表示,可以由多种不同的源语言使用。 字体末端编译器系统读取构成公共库的通用语言文件和使用库的源语言文件。 另外,前端系统产生通用语言文件。 前端系统生成的通用语言文件可以在公共库中使用。 公共语言文件也可以提供给后端系统或运行时环境,其进一步将公共语言文件编译成可执行形式并执行该文件。 在运行时,公共语言文件由运行时环境用于布局执行期间使用的对象和方法。

    Method and system for garbage collection using a dynamically tuned write barrier
    26.
    发明授权
    Method and system for garbage collection using a dynamically tuned write barrier 有权
    使用动态调整的写入障碍的垃圾收集方法和系统

    公开(公告)号:US06804762B1

    公开(公告)日:2004-10-12

    申请号:US09628610

    申请日:2000-07-31

    IPC分类号: G06F1200

    摘要: A method of detecting and indicating pointers in an ephemeral region of memory in a computing system includes monitoring stored memory for pointers; detecting if there are pointers above the ephemeral range; and if there are not pointers above the ephemeral range, then testing if a pointer is above a lower limit of the ephemeral range without testing if the pointer is also below an upper limit of the ephemeral range. A system for detecting and indicating pointers in an ephemeral region of memory in a computing system includes a monitor module, a pointer module, and a lower limit module. The monitor module monitors stored memory for pointers. The pointer module detects if there are pointers above the ephemeral range. The lower limit module tests if a pointer is above a lower limit of the ephemeral range without testing if the pointer is also below an upper limit of the ephemeral range, if there are not pointers above the ephemeral range.

    摘要翻译: 一种在计算系统中检测和指示存储器的短暂区域中的指针的方法包括:监视存储器的指针; 检测是否存在高于临时范围的指针; 并且如果在短暂范围之上没有指针,则测试指针是否在临时范围的下限之上,而不测试指针是否也低于临时范围的上限。 用于在计算系统中检测和指示存储器的短暂区域中的指针的系统包括监视器模块,指针模块和下限模块。 监视器模块监视存储器的指针。 指针模块检测是否存在高于临时范围的指针。 如果指针超过临时范围的下限,则下限模块将测试指针是否也低于临时范围的上限,如果指示器不在临时范围之上。

    Type descriptor management for frozen objects
    27.
    发明授权
    Type descriptor management for frozen objects 有权
    键入描述符管理冻结对象

    公开(公告)号:US08316357B2

    公开(公告)日:2012-11-20

    申请号:US12203857

    申请日:2008-09-03

    IPC分类号: G06F9/45

    摘要: The efficient use of type descriptors with frozen objects. A frozen object might actually include several type descriptors, a primary type descriptor that is canonical according to a set of canonicalization rules, and an auxiliary type descriptor that is not identical to the primary type descriptor. The auxiliary type descriptor may be used to access the canonical type descriptor. When performing an operation, if the auxiliary type descriptor can be used to perform the operation, then that auxiliary type descriptor may be used. If the canonical type descriptor is to be used to perform the operation, the auxiliary type descriptor is used to gain access to the canonical primary type descriptor. The primary type descriptor is then used to perform the operation.

    摘要翻译: 类型描述符与冻结对象的有效使用。 一个被冻结的对象实际上可能包含几个类型描述符,根据一组规范化规则是规范的主类型描述符,以及与主类型描述符不相同的辅助类型描述符。 辅助类型描述符可用于访问规范类型描述符。 当执行操作时,如果可以使用辅助类型描述符来执行操作,则可以使用该辅助类型描述符。 如果要使用规范类型描述符来执行操作,则使用辅助类型描述符来访问规范的主类型描述符。 然后使用主类型描述符执行操作。

    System and method for sharing objects between applications in a virtual runtime environment
    29.
    发明授权
    System and method for sharing objects between applications in a virtual runtime environment 有权
    用于在虚拟运行时环境中的应用程序之间共享对象的系统和方法

    公开(公告)号:US08245205B2

    公开(公告)日:2012-08-14

    申请号:US12623338

    申请日:2009-11-20

    IPC分类号: G06F9/45

    CPC分类号: G06F9/44563

    摘要: The techniques and mechanisms described herein are directed at sharing objects between applications executing in a virtual runtime environment. The techniques include compiling a cpu-independent file to create executable instructions that are associated with an application that is executable in a virtual runtime environment. A constructor associated with a shareable class defined within the cpu-independent file is executed to create an instance of a shareable object. The shareable object is then persisted in a manner such that other applications executing in the virtual runtime environment may access the shareable object. The technique may be performed during pre-JIT compilation or just-in-time compilation of the cpu-independent file. The execution of the constructor is performed at a restricted security level that prevents access to changeable information when generating static data for the static members of the shareable object.

    摘要翻译: 本文描述的技术和机制针对在虚拟运行时环境中执行的应用之间共享对象。 这些技术包括编译独立于cpu的文件,以创建与在虚拟运行时环境中可执行的应用程序相关联的可执行指令。 执行与与cpu无关文件中定义的可共享类相关联的构造函数,以创建可共享对象的实例。 然后可共享对象以使得在虚拟运行时环境中执行的其他应用程序可以访问可共享对象的方式被保持。 该技术可以在JIT编译期间执行,也可以及时编译不依赖cpu的文件。 构造函数的执行是在受限的安全级别执行的,该级别在生成可共享对象的静态成员的静态数据时阻止访问可更改的信息。

    Load balancing in a managed execution environment
    30.
    发明授权
    Load balancing in a managed execution environment 有权
    受管执行环境中的负载平衡

    公开(公告)号:US08234378B2

    公开(公告)日:2012-07-31

    申请号:US11254649

    申请日:2005-10-20

    IPC分类号: G06F15/173 G06F15/16

    摘要: A method and system for managing applications in a managed execution environment is disclosed. Prior to performing a garbage collection the magnitude of the garbage collection or the allocated memory is compared to a threshold value. If the threshold value is exceeded at least a portion of an application currently executing in the environment is redistributed prior to the garbage collection occurring.

    摘要翻译: 公开了一种用于在受管执行环境中管理应用的方法和系统。 在执行垃圾收集之前,将垃圾收集或所分配的存储器的大小与阈值进行比较。 如果超出阈值,则在垃圾收集发生之前,重新分配当前在环境中执行的应用程序的至少一部分。