Running multiple copies of native code in a Java Virtual Machine
    1.
    发明授权
    Running multiple copies of native code in a Java Virtual Machine 有权
    在Java虚拟机中运行本机代码的多个副本

    公开(公告)号:US08813051B2

    公开(公告)日:2014-08-19

    申请号:US13086820

    申请日:2011-04-14

    IPC分类号: G06F9/45

    摘要: A method for running multiple copies of the same native code in a Java Virtual Machine is described. In one embodiment, such a method includes providing a class to enable segregating multiple copies of the same native code. The method defines, within the class, a native method configured to dispatch operation of the native code. The method further includes generating first and second instances of the class. Calling the native method in the first instance causes a first copy of the native code to run in a first remote execution container (e.g., a first process). Similarly, calling the native method in the second instance causes a second copy of the native code to run in a second remote execution container (e.g., a second process) separate from the first remote execution container. A corresponding computer program product is also disclosed.

    摘要翻译: 描述了在Java虚拟机中运行相同本地代码的多个副本的方法。 在一个实施例中,这种方法包括提供一个类以允许分离相同本地代码的多个副本。 该方法在类内定义了一种本地方法,该本机方法配置为分派本地代码的操作。 该方法还包括生成该类的第一和第二实例。 在第一个实例中调用本机方法会导致本机代码的第一个副本在第一个远程执行容器(例如,第一个进程)中运行。 类似地,在第二实例中调用本地方法使本地代码的第二副本在与第一远程执行容器分开的第二远程执行容器(例如,第二进程)中运行。 还公开了相应的计算机程序产品。

    Accelerated execution for emulated environments
    2.
    发明授权
    Accelerated execution for emulated environments 失效
    加速执行仿真环境

    公开(公告)号:US08639492B2

    公开(公告)日:2014-01-28

    申请号:US12869344

    申请日:2010-08-26

    IPC分类号: G06F9/455 G06F9/45

    摘要: The illustrative embodiments provide a computer implemented method, apparatus, and computer program product for accelerating execution of a program, written in an object oriented programming language, in an emulated environment. In response to receiving a request for an accelerated communications session from a guest virtual machine in the emulated environment, a native virtual machine is initiated external to the emulated environment but within the computing device hosting the emulated environment. Thereafter, an accelerated communications link is established between the guest virtual machine and the native virtual machine. The accelerated communications link enables a transfer of managed code between the guest virtual machine and the native virtual machine. The managed code is then executed by the native virtual machine.

    摘要翻译: 说明性实施例提供了一种计算机实现的方法,装置和计算机程序产品,用于在仿真环境中加速以面向对象编程语言编写的程序的执行。 响应于在仿真环境中从来宾虚拟机接收到加速通信会话的请求,本地虚拟机在仿真环境的外部启动,但是在承载仿真环境的计算设备内。 此后,在客户虚拟机和本地虚拟机之间建立加速的通信链路。 加速通信链路使得可以在客户虚拟机和本地虚拟机之间传输托管代码。 托管代码然后由本机虚拟机执行。

    METHODS AND SYSTEMS INVOLVING REMOTE EXCEPTION CHECKS
    3.
    发明申请
    METHODS AND SYSTEMS INVOLVING REMOTE EXCEPTION CHECKS 审中-公开
    涉及远程例外检查的方法和系统

    公开(公告)号:US20110093865A1

    公开(公告)日:2011-04-21

    申请号:US12887061

    申请日:2010-09-21

    IPC分类号: G06F9/46 G06F13/00

    CPC分类号: G06F9/54 G06F2209/481

    摘要: A method includes receiving a remote call from a native process in a Java virtual process; and sending a return call to the native process, wherein the return call includes an exception status of the Java virtual process.

    摘要翻译: 一种方法包括在Java虚拟进程中从本地进程接收远程调用; 以及向所述本地进程发送返回呼叫,其中所述返回呼叫包括所述Java虚拟进程的异常状态。

    Distributed Management of Native Interface Metadata and Arrays
    4.
    发明申请
    Distributed Management of Native Interface Metadata and Arrays 审中-公开
    本地接口元数据和数组的分布式管理

    公开(公告)号:US20110078709A1

    公开(公告)日:2011-03-31

    申请号:US12889644

    申请日:2010-09-24

    IPC分类号: G06F9/46 G06F13/00

    CPC分类号: G06F9/4486

    摘要: An illustrative embodiment provides a computer-implemented process for distributed management of native interface arrays. The computer-implemented process obtains an array type native interface call in a first system from a caller in a second system, identifies an array type of the array type native interface call to form an identified array type, and requests array elements associated with the identified array type to form requested array elements, wherein added metadata is associated with the requested array elements. The computer-implemented process builds an enhanced data structure using the requested array elements and the associated added metadata and returns a pointer within the enhanced data structure to the caller. The pointer can be used by the caller to manipulate array data of the array elements, and the first system can calculate an address of the added metadata in constant time from the pointer.

    摘要翻译: 说明性实施例提供了用于本机接口阵列的分布式管理的计算机实现的过程。 计算机实现的进程在第二系统中从调用者获得在第一系统中的数组类型的本地接口调用,识别数组类型的本地接口调用的数组类型以形成识别的数组类型,并且请求与所识别的数组相关联的数组元素 数组类型以形成请求的数组元素,其中添加的元数据与请求的数组元素相关联。 计算机实现的过程使用所请求的数组元素和相关联的添加的元数据构建增强的数据结构,并且在调用者的增强数据结构内返回指针。 调用者可以使用指针来操纵数组元素的数组数据,第一个系统可以从指针中恒定时间计算添加的元数据的地址。

    Accelerated Execution for Emulated Environments
    5.
    发明申请
    Accelerated Execution for Emulated Environments 失效
    加速执行仿真环境

    公开(公告)号:US20110054879A1

    公开(公告)日:2011-03-03

    申请号:US12869344

    申请日:2010-08-26

    IPC分类号: G06F9/455

    摘要: The illustrative embodiments provide a computer implemented method, apparatus, and computer program product for accelerating execution of a program, written in an object oriented programming language, in an emulated environment. In response to receiving a request for an accelerated communications session from a guest virtual machine in the emulated environment, a native virtual machine is initiated external to the emulated environment but within the computing device hosting the emulated environment. Thereafter, an accelerated communications link is established between the guest virtual machine and the native virtual machine. The accelerated communications link enables a transfer of managed code between the guest virtual machine and the native virtual machine. The managed code is then executed by the native virtual machine.

    摘要翻译: 说明性实施例提供了一种计算机实现的方法,装置和计算机程序产品,用于在仿真环境中加速以面向对象编程语言编写的程序的执行。 响应于在仿真环境中从来宾虚拟机接收到加速通信会话的请求,本地虚拟机在仿真环境的外部启动,但是在承载仿真环境的计算设备内。 此后,在客户虚拟机和本地虚拟机之间建立加速的通信链路。 加速通信链路使得可以在客户虚拟机和本地虚拟机之间传输托管代码。 托管代码然后由本机虚拟机执行。

    METHOD FOR ENHANCING EFFICIENCY IN MUTUAL EXCLUSION
    6.
    发明申请
    METHOD FOR ENHANCING EFFICIENCY IN MUTUAL EXCLUSION 失效
    在互补排除中提高效率的方法

    公开(公告)号:US20080104595A1

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

    申请号:US11873777

    申请日:2007-10-17

    IPC分类号: G06F9/46

    摘要: A system of the present invention includes: a memory device which includes a first memory area for storing first information indicating that a first task acquires or attempts to acquire a lock, and a second memory area for storing second information indicating that a second task acquires or attempts to acquire the lock, and in which a time lag may occur between a time when the first task issues a writing instruction and a time when the written content is enabled to be referred to by the second task; a first acquisition section which reads the second memory area after issuing a writing instruction to write the first information to the first memory area in response to a request from the first task, and which makes a reply indicating a success of the lock acquisition on condition that the second information is not read; and a second acquisition section which writes the second information to the second memory area in response to a request from the second task, which enables the written content to be referred to by the first task, which thereafter executes a write-reflection process for enabling the content written in the first memory area by the first task to be referred to by the second task, which reads the first memory area after completion of the write-reflection process, and which makes a reply indicating a success of the lock acquisition on condition that the first information is not read from the first memory area.

    摘要翻译: 本发明的系统包括:存储装置,包括:第一存储区,用于存储指示第一任务获取或尝试获取锁的第一信息;以及第二存储区,用于存储指示第二任务获取的第二信息; 尝试获取锁定,并且其中在第一任务发出写入指令的时间与能够被第二个任务引用的写入内容的时间之间可能发生时滞; 第一获取部分,响应于来自第一任务的请求,在发出写入指令以写入第一信息到第一存储器区域之后读取第二存储器区域,并且响应于指示锁定获取成功的回复,条件是 第二个信息不读; 以及第二获取部分,其响应于来自所述第二任务的请求将所述第二信息写入所述第二存储区域,所述第二任务使得能够由所述第一任务引用所述写入内容,所述第一任务执行写入反射处理以使得能够 通过由第二任务引用的第一任务写入第一存储器区域的内容,其在完成写入反射处理之后读取第一存储区域,并且作出响应,指示锁定获取的成功,条件是 第一信息不从第一存储区读取。

    Mapping a stack in a stack machine environment
    7.
    发明授权
    Mapping a stack in a stack machine environment 有权
    在堆栈机器环境中映射堆栈

    公开(公告)号:US07032221B1

    公开(公告)日:2006-04-18

    申请号:US09329558

    申请日:1999-06-10

    IPC分类号: G06F9/46 G06F12/00

    摘要: The stack mapper of the present invention seeks to determine the shape of the stack at a given program counter. This is accomplished by locating all start points possible for a given method, that is, at all of the entry points for the method and all of the exception entry points, and trying to find a path from the beginning of the method to the program counter in question. The mapper first tries to locate a linear path from the beginning of the method, and then iteratively processes the sequence of bytes at each branch until the destination program counter is reached. Once the path is found, a simulation is run of the stack through that path, which is used as the virtual stack for the purposes of the garbage collector.

    摘要翻译: 本发明的堆栈映射器寻求在给定的程序计数器处确定堆栈的形状。 这是通过定位给定方法可能的所有起始点,即方法和所有异常入口点的所有入口点,并尝试从方法开始到程序计数器找到一个路径来实现的 有问题 映射器首先尝试从方法的开头找到一条线性路径,然后迭代地处理每个分支处的字节序列,直到达到目标程序计数器。 找到路径后,通过该路径运行堆栈的模拟,该路径用作垃圾收集器的虚拟堆栈。

    Packaging memory image files
    10.
    发明授权
    Packaging memory image files 有权
    包装记忆体图像文件

    公开(公告)号:US06446254B1

    公开(公告)日:2002-09-03

    申请号:US09374154

    申请日:1999-08-13

    IPC分类号: G06F944

    CPC分类号: G06F9/44573

    摘要: In typical Java and other interpreted programming language environments, the code is stored in ROM in a semi-processed state, .class files containing byte codes. When the device is turned on, a virtual machine resolves references and links the .class file in RAM to permit desired applications to be run. In the invention, the .class files are further pre-processed to select the data which will not change or require updating. This data is packaged into memory image files containing internal data pre-linking this data. The memory image files are stored in ROM and are accessible from ROM by the virtual machine at runtime. Only elements that will be updated, such as the objects themselves, must be instantiated in RAM at runtime. This reduces the amount of RAM needed to run the application. In an environment with memory constraints, the reduction in RAM requirements permits more RAM to be made available for application use.

    摘要翻译: 在典型的Java和其他解释型编程语言环境中,代码以半处理状态存储在ROM中,包含字节代码的.class文件。 当设备打开时,虚拟机将解析引用并将RAM中的.class文件链接以允许运行所需的应用程序。 在本发明中,进一步对.class文件进行预处理,以选择不改变或需要更新的数据。 该数据被打包到包含预先链接该数据的内部数据的存储器图像文件中。 存储器映像文件存储在ROM中,并且可以在运行时由虚拟机从ROM访问。 只有要更新的元素(如对象本身)必须在运行时在RAM中实例化。 这减少了运行应用程序所需的RAM量。 在具有内存限制的环境中,RAM要求的减少允许更多的RAM可用于应用程序的使用。