Dynamic delegation chain for runtime adaptation of a code unit to an environment
    1.
    发明申请
    Dynamic delegation chain for runtime adaptation of a code unit to an environment 有权
    用于将代码单元用于运行时适应环境的动态委托链

    公开(公告)号:US20070234322A1

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

    申请号:US11366333

    申请日:2006-03-02

    CPC classification number: G06F21/53 G06F9/445 G06F2209/542

    Abstract: A dynamic delegation chain of executor objects can, at runtime, adapt code units to be executed as isolated computations prior to their execution to comport with current state of an environment. A dynamic delegation chain performs the dynamic runtime adaptation of the code unit in accordance with isolated computations that host the executor objects of the delegation chain. Adapting a code unit prior to execution of the code unit allows adaptation of the code unit to a current state, as well as at least reducing concerns of program integrity.

    Abstract translation: 执行器对象的动态授权链可以在运行时调整代码单元,以在其执行之前作为独立计算执行以与当前环境状态相匹配。 动态委托链根据托管代理链的执行器对象的隔离计算来执行代码单元的动态运行时间调整。 在执行代码单元之前适应代码单元允许将代码单元适配到当前状态,并且至少减少对程序完整性的关注。

    Enforcing proper resolution for classes of shared objects in a virtual machine
    2.
    发明授权
    Enforcing proper resolution for classes of shared objects in a virtual machine 有权
    对虚拟机中的共享对象类执行适当的分辨率

    公开(公告)号:US07945920B2

    公开(公告)日:2011-05-17

    申请号:US11524222

    申请日:2006-09-19

    CPC classification number: G06F9/44521 G06F9/44563 G06F9/45504

    Abstract: Disclosed techniques ensure that isolates that are attached to a shared object region will see appropriate class states. In response to an isolate's attempt to instantiate, in such a region, an object that is an instance of a particular class, a bootstrap class' identity is added to that region's bootstrap class list. In response to an isolate's attempt to attach to the region, each class that is both (a) in the region's associated bootstrap class list, and (b) not yet initialized for that isolate, is initialized for that isolate. Thus, those bootstrap classes are seen by that isolate as being in the “initialized” state. In response to an isolate's addition of a particular bootstrap class to the region's list of dependent bootstrap classes, the particular bootstrap class is initialized for each of the isolates attached to the region and for which the bootstrap class is not initialized yet.

    Abstract translation: 公开的技术确保连接到共享对象区域的隔离物将看到适当的类状态。 为了响应一个孤岛的尝试来在这样的区域中实例化一个作为特定类的实例的对象,引导类的身份被添加到该区域的引导类列表中。 为了响应孤立企图附加到该区域,每个类(a)在该区域的相关联的引导类列表中,和(b)尚未被初始化为该隔离,为该隔离被初始化。 因此,这些引导类被该隔离所看到处于“初始化”状态。 为了响应一个特定的引导类添加到该区域的依赖引导类的列表中,特定的引导类是针对连接到该区域的每个隔离区进行初始化的,并且引导类尚未初始化。

    Sharing data among isolated applications
    3.
    发明授权
    Sharing data among isolated applications 有权
    在隔离应用程序之间共享数据

    公开(公告)号:US07840967B1

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

    申请号:US11482603

    申请日:2006-07-06

    CPC classification number: G06F9/4492

    Abstract: A technique for allowing isolated JAVA applications (“isolates”) to share data between themselves is disclosed. According to one aspect, a shared object region, to which multiple isolates may attach, is defined in memory. A shared class loader associated with the region is stored in the region in conjunction with the region's creation. Isolates that can access the region can invoke that loader. The region only comprises objects whose type is defined by a bootstrap class loader or the region's associated shared class loader. Runtime representations of classes defined by the shared class loader are stored in the region. Thus, the types of objects stored in the region are known to all isolates that attach to the region. Isolates attached to the region may enter the context of the region to access objects stored therein. Within the context of a shared object region, all allocation instructions automatically allocate to that region.

    Abstract translation: 公开了一种允许孤立的JAVA应用程序(“隔离”)在其间共享数据的技术。 根据一个方面,在存储器中定义了多个分离物可以连接到的共享对象区域。 与区域相关联的共享类加载器与区域的创建一起存储在该区域中。 可以访问该区域的隔离区可以调用该加载程序。 该区域仅包含类型由引导类加载器或区域的关联共享类加载器定义的对象。 由共享类加载器定义的类的运行时表示存储在该区域中。 因此,存储在该区域中的对象的类型对于附着到该区域的所有分离物是已知的。 附接到该区域的隔离物可以进入该区域的上下文以访问存储在其中的对象。 在共享对象区域的上下文中,所有分配指令自动分配给该区域。

    Method for sharing runtime representation of software components across component loaders
    4.
    发明授权
    Method for sharing runtime representation of software components across component loaders 有权
    在组件加载程序之间共享软件组件的运行时表示的方法

    公开(公告)号:US07644402B1

    公开(公告)日:2010-01-05

    申请号:US10803585

    申请日:2004-03-17

    CPC classification number: G06F9/45516 G06F9/445

    Abstract: A method for reducing a usage of main memory by a first class loader and a second class loader is provided. The first class loader and the second class loader are capable of dynamically loading a class having a class file, and translating the class file into a first and a second class type, respectively. The method includes dividing a runtime representation of the first class type into a first loader independent part and a first loader dependent part. Also included is determining whether a runtime representation of the second class type can use the first loader independent part of the runtime representation of the first class type. If the first loader independent part can be used, the method includes generating a second loader dependent part of the runtime representation of the second class type using the first loader independent part of the runtime representation of the first class type.

    Abstract translation: 提供了一种通过第一类装载器和第二类加载器来减少主存储器的使用的方法。 第一类加载器和第二类加载器能够动态加载具有类文件的类,并将类文件分别转换为第一类和第二类类型。 该方法包括将第一类类型的运行时表示划分为第一加载器独立部分和第一加载器相关部分。 还包括确定第二类类型的运行时表示是否可以使用第一类类型的运行时表示的第一加载器独立部分。 如果可以使用第一加载器独立部分,则该方法包括使用第一类类型的运行时表示的第一加载器独立部分来生成第二类类型的运行时表示的第二加载器相关部分。

    Sharing runtime representation of software component methods across component loaders
    5.
    发明授权
    Sharing runtime representation of software component methods across component loaders 有权
    在组件加载程序之间共享软件组件方法的运行时代表

    公开(公告)号:US07406687B1

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

    申请号:US10803205

    申请日:2004-03-17

    CPC classification number: G06F8/445 G06F9/44521

    Abstract: A computer implemented process for making a bytecode of a method sharable by a first class loader and a second class loader is provided. The first class loader and the second class loader are capable of dynamically loading a class having a class file, and translating the class file into first and second class types, respectively. The process includes dividing a runtime representation of the first class type into first loader independent and first loader dependent parts and determining whether a runtime representation of the second class type can use the first loader independent part. If the first loader independent part can be used by the runtime representation of the second class type, the process includes generating a second loader dependent part using the first loader independent part. Further included is performing a loader re-entrant interpretation of a bytecode of the method if the method is invoked.

    Abstract translation: 提供了一种用于制作由第一类加载器和第二类加载器可共享的方法的字节码的计算机实现的过程。 第一类加载器和第二类加载器能够动态加载具有类文件的类,并将类文件分别转换为第一类和第二类类型。 该过程包括将第一类类型的运行时表示划分为第一加载器独立和第一加载器相关部分,并且确定第二类类型的运行时表示是否可以使用第一加载器独立部分。 如果第二类类型的运行时表示可以使用第一加载器独立部分,则该过程包括使用第一加载器独立部分生成第二加载器相关部分。 进一步的包括是如果调用该方法,则执行对方法的字节码的加载器重入解释。

    Methods for implementing virtual method invocation with shared code
    6.
    发明授权
    Methods for implementing virtual method invocation with shared code 有权
    用共享代码实现虚拟方法调用的方法

    公开(公告)号:US07526760B1

    公开(公告)日:2009-04-28

    申请号:US10981965

    申请日:2004-11-05

    CPC classification number: G06F9/449

    Abstract: A method for implementing virtual method invocation when a compiled code of an invoked method is shared between class types that share a runtime representation is provided. In this method, an entry of an inline cache is set to a reference to an object. Subsequently, instructions for calling code are modified and the inline cache is set to be in one of an unresolved state, a monomorphic state, a shared monomorphic state, or a megamorphic state. A computer readable medium and a system for implementing virtual method invocation are also described.

    Abstract translation: 提供了在共享运行时表示的类类型之间共享被调用方法的编译代码时实现虚方法调用的方法。 在该方法中,将内联高速缓存的条目设置为对对象的引用。 随后,修改调用代码的指令,并将内联高速缓存设置为处于未解决状态,单态,共形单态或变形状态之一。 还描述了一种用于实现虚拟方法调用的计算机可读介质和系统。

    Computer system and method providing a memory buffer for use with native and platform-independent software code

    公开(公告)号:US20070288682A1

    公开(公告)日:2007-12-13

    申请号:US11728091

    申请日:2007-03-22

    CPC classification number: G06F9/544 G06F2209/543

    Abstract: The present invention relates to computer systems and methods for providing a memory buffer for use with native and platform-independent software code. In a particular embodiment, the method includes providing a first software program compiled to platform-independent code for execution in a first process of the computer system, providing a second software program compiled to native code for execution in a second process of the computer system, and sending a message from the first process to the second process to request a memory buffer. In another particular embodiment, the computer system includes a processor and a memory. The computer system includes a first process to execute a first software program coded in a safe language, a second process to execute a second software program coded in an unsafe language, and an inter-process communication mechanism that allows data message communication between the first process and the second process. The inter-process communication mechanism includes a command that provides for transmission of a message from the first process to the second process to request creation of a direct buffer that is mapped from both the first process and the second process to a common memory area.

    Supporting per-program classpaths with class sharing in a multi-tasking virtual machine
    9.
    发明申请
    Supporting per-program classpaths with class sharing in a multi-tasking virtual machine 有权
    在多任务虚拟机中支持具有类共享的每程序类路径

    公开(公告)号:US20070245331A1

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

    申请号:US11403076

    申请日:2006-04-12

    CPC classification number: G06F9/44521

    Abstract: System and method for supporting per-program classpath and class sharing in a multi-tasking virtual machine. A virtual machine may allow each program to specify its classpath independently of other programs classpaths. Tasks that specify identical classpaths for their respective class loaders may share the runtime representation of classes. A multi-tasking virtual machine may generate and compare canonical forms of classpaths to determine which programs may share classes with each other. The runtime representation of a class may be split between shared and private portions of the runtime representation. A shared runtime representation may be associated with multiple private runtime representations. In one embodiment, unique class loader keys and a system dictionary may be used to associate tasks, class loaders and the shared representations of classes.

    Abstract translation: 在多任务虚拟机中支持每程序类路径和类共享的系统和方法。 虚拟机可以允许每个程序独立于其他程序类路径来指定其类路径。 为其各自的类加载器指定相同的类路径的任务可以共享类的运行时表示。 多任务虚拟机可以生成和比较类路径的规范形式,以确定哪些程序可以彼此共享类。 类的运行时表示可以在运行时表示的共享部分和私有部分之间分割。 共享的运行时表示可以与多个私有运行时表示相关联。 在一个实施例中,可以使用唯一类加载器密钥和系统字典来关联任务,类加载器和类的共享表示。

    Methods for sharing of dynamically compiled code across class loaders by making the compiled code loader reentrant
    10.
    发明授权
    Methods for sharing of dynamically compiled code across class loaders by making the compiled code loader reentrant 有权
    通过使编译代码加载程序可重入的方式共享跨类加载器的动态编译代码

    公开(公告)号:US07665075B1

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

    申请号:US10849468

    申请日:2004-05-18

    CPC classification number: G06F9/445 G06F9/45516

    Abstract: A method for sharing dynamically compiled code between different class loaders is provided. In this method, loader-reentrant compiled code is produced from bytecodes by generating native code implementing a class initialization barrier when compiling bytecodes that require a class to be initialized, by generating native code implementing a link resolution barrier when compiling bytecodes that require a symbolic link to be resolved, and by generating code to retrieve loader-dependent data from a loader-dependent table when compiling bytecodes that use data computed from a resolved symbolic link.

    Abstract translation: 提供了一种用于在不同类加载器之间共享动态编译代码的方法。 在这种方法中,通过在编译需要初始化类的字节码时,通过生成本地代码来实现链路分辨率屏障,当编译需要符号链接的字节码时,通过生成本地代码实现类初始化障碍,从字节码生成加载器 - 可重入编译代码 并且通过在编译使用从已解析的符号链接计算出的数据的字节码时生成代码以从加载器相关的表中检索与加载器有关的数据。

Patent Agency Ranking