Thread synchronization in a garbage-collected system using execution
barriers
    1.
    发明授权
    Thread synchronization in a garbage-collected system using execution barriers 失效
    使用执行障碍的垃圾回收系统中的线程同步

    公开(公告)号:US5842016A

    公开(公告)日:1998-11-24

    申请号:US864759

    申请日:1997-05-29

    IPC分类号: G06F9/46 G06F12/02 G06F9/40

    摘要: The present invention synchronizes threads in a garbage-collected system. In accordance with the invention, each thread may enable or disable garbage collection. A synchronization facility receives a request to initiate garbage collection. In response to the request, the facility identifies threads that have enabled garbage collection more recently than they have disabled garbage collection. Then, until all of the threads are identified or suspended, the facility identifies threads that enable garbage collection and suspends threads that disable garbage collection. When all threads are identified or suspended, the facility performs garbage collection. The facility also suspends any identified threads that attempt to disable garbage collection during the performance of garbage collection.

    摘要翻译: 本发明在垃圾收集系统中同步线程。 根据本发明,每个线程可以启用或禁用垃圾收集。 同步设施接收到启动垃圾收集的请求。 响应该请求,该设施识别出最近已启用垃圾收集的线程已禁用垃圾收集。 然后,直到所有的线程被识别或挂起,该工具将识别启用垃圾回收并挂起禁用垃圾收集的线程的线程。 当所有线程被识别或暂停时,该设施执行垃圾收集。 该设施还会暂停在执行垃圾收集期间尝试禁用垃圾收集的任何已识别的线程。

    Efficient computer based virtual machine object structure
    2.
    发明授权
    Efficient computer based virtual machine object structure 失效
    高效的基于计算机的虚拟机对象结构

    公开(公告)号:US5920720A

    公开(公告)日:1999-07-06

    申请号:US803958

    申请日:1997-02-25

    CPC分类号: G06F9/443 G06F9/45508

    摘要: Method and apparatus for implementing a virtual machine interpreter such as an interpreter for interpreting Java compiled bytecodes. The Java language supports class structures and a hierarchy of such structures. As the Java software virtual machine loads the class file containing the Java bytecodes it allocates a first block, of memory based on the class definition for all dynamic methods implemented by a class hierarchy that includes a base class and any additional classes derived from the base class. The virtual machine instantiates instances of classes within a class hierarchy derived from the base class in other memory blocks by initializing a method table pointer at a base location in that other memory block for each such instance in the class hierarchy. The method table pointer is initialized to point to the first block of memory defining the dynamic methods for the class hierarchy. The interpreter also initializes other data unique to each instance at offsets relative to the method table pointer within the other memory block for said class instance. Practice of the invention enhances the speed with which the virtual machine accesses dynamic methods of objects within the class hierarchy.

    摘要翻译: 用于实现虚拟机解释器的方法和装置,例如用于解释Java编译的字节码的解释器。 Java语言支持类结构和这种结构的层次结构。 由于Java软件虚拟机加载了包含Java字节码的类文件,所以它会根据包含基类的类层次结构所实现的所有动态方法的类定义以及从基类派生的任何附加类,分配第一个内存块 。 虚拟机通过在类层次结构中的每个这样的实例的初始化另一个内存块的基本位置的方法表指针来实例化从其他内存块中的基类派生的类层次结构中的类实例。 方法表指针被初始化为指向定义类层次结构的动态方法的第一个内存块。 解释器还初始化相对于所述类实例的其他存储器块内的方法表指针的偏移的每个实例唯一的其他数据。 本发明的实践增强了虚拟机访问类层次结构内的对象的动态方法的速度。

    System and method for an improved type inference
    3.
    发明申请
    System and method for an improved type inference 有权
    改进型推理的系统和方法

    公开(公告)号:US20060242115A1

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

    申请号:US11113708

    申请日:2005-04-25

    IPC分类号: G06F17/30

    CPC分类号: G06F8/437

    摘要: An improved type inference may be calculated for a path expression that may be classified into a series of input expressions followed by steps. For each such series, the inference may be calculated based on input including a type for the input expression, an axis for the step, and a node test for the step. The cardinality of the input expression type is preserved for the calculation of the step type. Also, a set of one or more matching node types may be identified within the type repository. These matching node types are node types within the axis of the step that match the node test of the step. These matching node types are identified without calculating the full content type implied by the axis. Avoiding the calculation of the full content type of the axis may reduce the processing time required to perform the inference.

    摘要翻译: 可以针对路径表达式计算改进的类型推断,其可以分为一系列输入表达式,随后是步骤。 对于每个这样的系列,可以基于包括输入表达式的类型,步骤的轴和该步骤的节点测试的输入来计算推断。 保留输入表达式类型的基数用于计算步骤类型。 而且,可以在类型储存库内识别一组一个或多个匹配节点类型。 这些匹配节点类型是与步骤的节点测试匹配的步骤的轴中的节点类型。 识别这些匹配节点类型,而不计算轴所隐含的完整内容类型。 避免计算轴的完整内容类型可能会减少执行推理所需的处理时间。

    System and method for an improved type inference
    4.
    发明授权
    System and method for an improved type inference 有权
    改进型推理的系统和方法

    公开(公告)号:US07426503B2

    公开(公告)日:2008-09-16

    申请号:US11113708

    申请日:2005-04-25

    IPC分类号: G06N5/00

    CPC分类号: G06F8/437

    摘要: An improved type inference may be calculated for a path expression that may be classified into a series of input expressions followed by steps. For each such series, the inference may be calculated based on input including a type for the input expression, an axis for the step, and a node test for the step. The cardinality of the input expression type is preserved for the calculation of the step type. Also, a set of one or more matching node types may be identified within the type repository. These matching node types are node types within the axis of the step that match the node test of the step. These matching node types are identified without calculating the full content type implied by the axis. Avoiding the calculation of the full content type of the axis may reduce the processing time required to perform the inference.

    摘要翻译: 可以针对路径表达式计算改进的类型推断,其可以分为一系列输入表达式,随后是步骤。 对于每个这样的系列,可以基于包括输入表达式的类型,步骤的轴和该步骤的节点测试的输入来计算推断。 保留输入表达式类型的基数用于计算步骤类型。 而且,可以在类型储存库内识别一组一个或多个匹配节点类型。 这些匹配节点类型是与步骤的节点测试匹配的步骤的轴中的节点类型。 识别这些匹配节点类型,而不计算轴所隐含的完整内容类型。 避免计算轴的完整内容类型可能会减少执行推理所需的处理时间。

    Application program memory management system
    7.
    发明授权
    Application program memory management system 失效
    应用程序内存管理系统

    公开(公告)号:US5189733A

    公开(公告)日:1993-02-23

    申请号:US397075

    申请日:1989-08-22

    IPC分类号: G06F9/40

    CPC分类号: G06F9/4425

    摘要: A computer system for executing application programs with limited available main memory capacity includes a main memory management system. The architecture of the stub vectors of a swappable code object and the protocol for referencing the stubs in active call frames reduces the overhead time of code object swapping. The stub vectors for a swappable code object are clustered together in memory; and each cluster comprises at least one entry stub and a return stub. A return stub vector is referenced in an active call frame only when its associated code object is not resident in main memory or when the code object has been placed on probation in contemplation of moving the object out of main memory. A linked list of resident code objects is employed in the selection of objects to be removed from main memory. A number of the least recently used code objects are put on probation in anticipation of the need to swap code between main memory and bulk memory. A call for or a return to an object on probation serves to remove the object from probation.

    摘要翻译: 用于执行具有有限可用主存储器容量的应用程序的计算机系统包括主存储器管理系统。 可交换代码对象的存根向量的结构和用于引用活动调用帧中的存根的协议减少了代码对象交换的开销时间。 可交换代码对象的存根向量聚集在内存中; 并且每个集群包括至少一个条目存根和返回存根。 只有当其关联的代码对象不驻留在主存储器中时,或者当代码对象已被放置在考虑将对象移出主存储器之后被放置在活动调用帧中时,返回存根向量才被引用。 在从主存储器中删除的对象的选择中采用驻留代码对象的链表。 预期在主存储器和大容量存储器之间交换代码的需要,许多最近使用的代码对象被放置在试用期中。 在试用期间呼叫或返回对象用于从缓刑中移除对象。

    System and methods for optimizing object-oriented compilations
    8.
    发明授权
    System and methods for optimizing object-oriented compilations 失效
    优化面向对象编译的系统和方法

    公开(公告)号:US5535391A

    公开(公告)日:1996-07-09

    申请号:US388851

    申请日:1995-02-15

    IPC分类号: G06F9/40 G06F9/42 G06F9/45

    摘要: An object-oriented development system of the present invention includes a language compiler having an optimizer for generating computer applications with improved speed and size. C++ optimization methods of the present invention are described, including virtual function and base optimization, using thunks for virtual member pointers, and passing classes by value. An object-oriented calling convention of the present invention, which affords rapid and efficient access to data and methods of objects, is also described.

    摘要翻译: 本发明的面向对象的开发系统包括具有用于以改进的速度和大小生成计算机应用的优化器的语言编译器。 描述了本发明的C ++优化方法,包括虚拟功能和基本优化,使用虚拟成员指针的thunk,以及通过值传递类。 还描述了本发明的面向对象的调用约定,其提供对对象的数据和方法的快速和有效的访问。

    Indefinite-size variables within an intermediate language
    10.
    发明授权
    Indefinite-size variables within an intermediate language 有权
    中间语言中的不确定大小的变量

    公开(公告)号:US06389590B1

    公开(公告)日:2002-05-14

    申请号:US09337814

    申请日:1999-06-22

    IPC分类号: G06F945

    CPC分类号: G06F8/447 G06F8/47

    摘要: Indefinite-size variables within an intermediate language are disclosed. In one embodiment, a computer-implemented method first inputs intermediate language code having a size-indefinite variable. The method generates native code based on the intermediate-language code. This includes generating a size-definite variable corresponding to the size-indefinite variable, according to a machine-specific criteria. The method then outputs the native code. In one embodiment, outputting the native code includes executing the native code.

    摘要翻译: 披露了一种中间语言中的不确定大小的变量。 在一个实施例中,计算机实现的方法首先输入具有大小不确定变量的中间语言代码。 该方法基于中间语言代码生成本地代码。 这包括根据机器特定标准生成对应于大小不确定变量的大小定义变量。 然后该方法输出本地代码。 在一个实施例中,输出本地代码包括执行本机代码。