会员体验
专利管家(专利管理)
工作空间(专利管理)
风险监控(情报监控)
数据分析(专利分析)
侵权分析(诉讼无效)
联系我们
交流群
官方交流:
QQ群: 891211   
微信请扫码    >>>
现在联系顾问~
热词
    • 1. 发明授权
    • Fast synchronization of simple synchronized methods
    • 快速同步简单的同步方法
    • US08176491B1
    • 2012-05-08
    • US11499123
    • 2006-08-04
    • Christopher J. PlummerYin Zin Mark Lam
    • Christopher J. PlummerYin Zin Mark Lam
    • G06F9/46
    • G06F9/526
    • A mechanism is disclosed for implementing fast synchronization of simple synchronized methods in a virtual machine. The mechanism provides for determining, during runtime, whether a set of instructions can be fully executed in lieu of invoking a synchronized method, which requires locking of a particular object. The set of instructions provides equivalent functionality to the synchronized method but with less locking overhead. In response to a determination that the set of instructions can be fully executed, the set of instructions is fully executed to achieve equivalent functionality to the synchronized method in lieu of invoking the synchronized method. In response to a determination that the set of instructions cannot be fully executed, the synchronized method is invoked. With this mechanism, simple synchronized methods can be executed with less locking overhead.
    • 公开了一种用于实现虚拟机中的简单同步方法的快速同步的机制。 该机制提供在运行期间确定是否可以完全执行一组指令来代替调用需要锁定特定对象的同步方法。 该指令集提供了同步方法的等效功能,但锁定开销较少。 响应于可以完全执行指令集的确定,完全执行指令集以实现与同步方法的等效功能以代替调用同步方法。 响应于不能完全执行指令集的确定,调用synchronized方法。 通过这种机制,可以以更少的锁定开销执行简单的同步方法。
    • 3. 发明授权
    • Fast patch-based method calls
    • 快速的基于补丁的方法调用
    • US08099724B2
    • 2012-01-17
    • US11365146
    • 2006-02-28
    • Christopher J. Plummer
    • Christopher J. Plummer
    • G06F9/45
    • G06F9/449
    • A patch-based mechanism is disclosed for providing fast invocations of a target method from a compiled calling method. The code for the calling method is stored into a storage. The code for the calling method comprises an instruction for invoking the target method, where the instruction comprises a parameter. In response to a state change from a current state to a new state that is experienced by the target method, the parameter is modified from a first value to a second value, where the second value indicates the correct address for facilitating the execution of the target method in its new state. Thus, the parameter in the instruction for invoking the target method always reflects the correct state of the target method, which provides for a fast invocation of the target method when the instruction is executed.
    • 公开了一种基于补丁的机制,用于从编译的调用方法提供目标方法的快速调用。 调用方法的代码存储在存储器中。 调用方法的代码包括用于调用目标方法的指令,其中指令包括参数。 响应于从目标方法经历的当前状态到新状态的状态改变,将参数从第一值修改为第二值,其中第二值指示用于促进目标的执行的正确地址 方法在新的状态。 因此,用于调用目标方法的指令中的参数总是反映目标方法的正确状态,其在执行指令时提供目标方法的快速调用。
    • 5. 发明授权
    • Method and apparatus for creating efficient native methods that extend a bytecode interpreter
    • 用于创建扩展字节码解释器的高效本机方法的方法和装置
    • US06886157B2
    • 2005-04-26
    • US09865963
    • 2001-05-25
    • Dean R. E. LongChristopher J. PlummerNedim Fresko
    • Dean R. E. LongChristopher J. PlummerNedim Fresko
    • G06F9/40G06F9/42G06F9/455G06F9/45
    • G06F8/76G06F9/449G06F9/45504
    • Methods, apparatus and computer program products are disclosed for a method of invoking a native method in a Java virtual machine (“JVM”). A special-purpose fast interface, executing in conjunction with an interpreter loop, for native methods reduces C stack recursion in the JVM. The interface performs as an extension to the interpreter loop component in the JVM in that a native method, invoked via the special-purpose interface, is able to modify the interpreter loop state if necessary. This is done without adding new bytecode instructions. A method of executing a native method in a Java virtual machine is described. The JVM first determines whether a native method is to be handled by a special native interface or one of multiple other native interfaces. If it is determined that the method is to be handled by the special native interface, the method is invoked and passed arguments enabling it to access the state of the JVM. The method is then executed. The state of the JVM is adjusted based on the execution of the method such that transition between the interpreter loop and the native method via the special native interface is minimized.
    • 公开了一种在Java虚拟机(“JVM”)中调用本地方法的方法,装置和计算机程序产品。 与本地方法结合解释器循环执行的专用快速界面减少了JVM中的C堆栈递归。 该界面作为JVM中解释器循环组件的扩展,因为通过专用接口调用的本地方法能够在需要时修改解释器循环状态。 这样做不需要添加新的字节码指令。 描述了在Java虚拟机中执行本机方法的方法。 JVM首先确定本机方法是由特殊本机接口还是多个其他本机接口之一来处理。 如果确定该方法要由特殊本机接口处理,则调用该方法并传递参数以使其能够访问JVM的状态。 然后执行该方法。 基于方法的执行来调整JVM的状态,使得经由特殊本地接口的解释器循环和本地方法之间的转换被最小化。
    • 6. 发明授权
    • Mechanism for ordering lists of local variables associated with a plurality of code blocks
    • 用于排序与多个代码块相关联的局部变量的列表的机制
    • US07788655B2
    • 2010-08-31
    • US11216753
    • 2005-08-30
    • Christopher J. Plummer
    • Christopher J. Plummer
    • G06F9/45
    • G06F8/441G06F9/45516
    • A compilation mechanism is disclosed for facilitating the keeping of local variables in the same hardware registers across multiple code blocks. In one implementation, each code block has a list of local variables associated therewith. This list of local variables represents the local variables that should be loaded into registers prior to entering a code block. For multiple code blocks, the various lists may have local variables in common. In one implementation, the mechanism orders the local variables in the various lists in such a manner that, as much as possible, the same local variables are placed in the same slots of the various lists. By doing so, the mechanism minimizes the movement of local variables from register to register when going from code block to code block.
    • 公开了一种编译机制,以便于在多个代码块中保持相同硬件寄存器中的局部变量。 在一个实现中,每个代码块具有与其相关联的局部变量的列表。 该局部变量列表表示在输入代码块之前应该加载到寄存器中的局部变量。 对于多个代码块,各种列表可能具有共同的局部变量。 在一个实现中,机制以各种列表的方式对局部变量进行排序,使得尽可能地将相同的局部变量放置在各种列表的相同时隙中。 通过这样做,当从代码块到代码块时,该机制使局部变量从寄存器移动到寄存器的最小化。
    • 8. 发明授权
    • System for object oriented dynamic linking based upon a catalog of
registered function set or class identifiers
    • 基于注册函数集或类标识符的目录的面向对象的动态链接系统
    • US5615400A
    • 1997-03-25
    • US85187
    • 1993-06-30
    • George C. CowsarChristopher J. PlummerMichael J. Quinn
    • George C. CowsarChristopher J. PlummerMichael J. Quinn
    • G06F9/44G06F9/445G06F9/40
    • G06F9/4428G06F9/44521G06F9/44536
    • A system is provided for managing code resources for use by client applications in a computer, wherein the computer has internal memory storing at least one client application. The apparatus comprises a resource set catalog stored in the internal memory. The resource set catalog identifies a plurality of function sets of functions by respective function set IDs. Further, the resource set catalog includes set records which characterize the functions within the respective sets. A dispatch engine, in the internal memory, linked with a client application, supplies a particular function set ID in response to a call by the client application of a particular function which is a member of a corresponding function set identified by the particular function set ID. A lookup engine in the internal memory, coupled with the resource set catalog and the dispatch engine, is responsive to the particular function set ID to look up a set record for a corresponding function set in the resource set catalog. Finally, a link engine in the internal memory and coupled with the dispatch engine returns the particular function to the client application in response to the set record. Thus, because the link engine is responsive to the set record, which is not linked with the client, the client need not be aware of changes in the structure of the library in which the particular function set resides. Thus, the function set can be moved into and out of internal memory, revised, placed in different sections of internal memory, and otherwise handled independently of the client, without requiring re-compilation of the client application.
    • 提供了一种用于管理代码资源以供计算机中的客户端应用使用的系统,其中所述计算机具有存储至少一个客户端应用的内部存储器。 该装置包括存储在内部存储器中的资源集目录。 资源集目录通过各个功能集ID识别多个功能函数集。 此外,资源集目录包括表征各个集合内的功能的集合记录。 与内部存储器中的与客户端应用程序链接的调度引擎响应于客户端应用程序对由特定功能集ID标识的对应功能集的成员的特定功能的调用提供特定功能集ID 。 内部存储器中的查找引擎与资源集目录和调度引擎相结合,响应于特定的功能集ID来查找资源集目录中对应的功能集的集合记录。 最后,内部存储器中的链接引擎与调度引擎相结合,响应于设置的记录将特定功能返回到客户端应用程序。 因此,因为链接引擎响应于不与客户端相关联的设置记录,所以客户端不需要知道特定功能集所在的库的结构中的改变。 因此,功能集可以移入和移出内部存储器,修改,放置在内部存储器的不同部分中,否则独立于客户机处理,而不需要重新编译客户端应用程序。
    • 9. 发明授权
    • System and method for providing exceptional flow control in protected code through memory layers
    • 通过内存层在受保护的代码中提供卓越的流量控制的系统和方法
    • US07472383B2
    • 2008-12-30
    • US10918130
    • 2004-08-13
    • Dean R. E. LongNedim FreskoChristopher J. Plummer
    • Dean R. E. LongNedim FreskoChristopher J. Plummer
    • G06F9/45
    • G06F9/45504G06F11/3624G06F12/0269
    • A system and method for providing exceptional flow control in protected code through memory layers. Code is generated. The generated code includes a sequence of normal operations and is subject to protection against copying during execution of the generated code. The generated code is instantiated as a master process into a master layer in a memory space. The master process is cloned by instantiating a copy of the master process as a child layer in the memory space. Execution points within the generated code are identified. A copy of at least a portion of the generated code containing each execution point as an exception layer is instantiated in the memory space. The generated code in the exception layer is patched at each identified execution point with operations exceptional to the normal operations sequence and which are performed upon a triggering of each execution point during execution of the generated code.
    • 一种用于通过存储器层在受保护代码中提供异常流控制的系统和方法。 代码生成。 生成的代码包括正常操作的顺序,并且在执行生成的代码期间受到保护以防止复制。 将生成的代码作为主进程实例化为内存空间中的主层。 通过将主进程的副本实例化为内存空间中的子层来克隆主进程。 识别生成代码内的执行点。 将包含每个执行点的生成代码的至少一部分的副本作为异常层在内存空间中被实例化。 异常层中生成的代码在每个识别的执行点处被修补,其中操作与正常操作序列异常,并且在执行生成的代码期间触发每个执行点时执行。
    • 10. 发明授权
    • Method and apparatus for eliminating C recursion from a Java programming language bytecode interpreter
    • 从Java编程语言字节码解释器中消除C递归的方法和装置
    • US07055133B2
    • 2006-05-30
    • US10907698
    • 2005-04-12
    • Christopher J. PlummerDean R. E. Long
    • Christopher J. PlummerDean R. E. Long
    • G06F9/44
    • G06F9/45508G06F9/4484
    • Methods and apparatus for eliminating C recursion from interpreter loops are disclosed. According to one aspect of the present invention, a computer-implemented method for substantially eliminating C recursion from the execution of static initializer methods in a virtual machine environment includes rewriting native C code associated with a static initializer as a Java programming language method, and using a transition frame in a Java programming language stack to execute the Java programming language method. The method also includes using a native method to manipulate the Java programming language stack, and using a first opcode in the transition frame. In one embodiment, using the first opcode in the transition frame includes using the first opcode to determine that the transition frame is associated with the static initializer. In another embodiment, the method further includes causing the static initializer to run, wherein the static initializer using a second opcode, and resuming execution at the second opcode after the static initializer has run.
    • 公开了从解释器循环中消除C递归的方法和装置。 根据本发明的一个方面,用于基本上消除在虚拟机环境中执行静态初始化方法的C递归的计算机实现的方法包括将与静态初始化器相关联的本地C代码重新编程为Java编程语言方法,并且使用 Java编程语言栈中的一个过渡框架来执行Java编程语言方法。 该方法还包括使用本地方法来操纵Java编程语言栈,并且在转换帧中使用第一操作码。 在一个实施例中,在转换帧中使用第一操作码包括使用第一操作码来确定转移帧与静态初始化器相关联。 在另一个实施例中,该方法还包括使静态初始化器运行,其中静态初始化器使用第二操作码,并且在静态初始化器运行之后恢复在第二操作码处的执行。