Development system with improved methods for recompiling dependent code
modules
    1.
    发明授权
    Development system with improved methods for recompiling dependent code modules 失效
    具有改进方法的开发系统,用于重新编译相关的代码模块

    公开(公告)号:US5978585A

    公开(公告)日:1999-11-02

    申请号:US826453

    申请日:1997-03-27

    申请人: Regis Crelier

    发明人: Regis Crelier

    IPC分类号: G06F9/45 G06F9/445

    CPC分类号: G06F8/48

    摘要: A development system providing methodology for improving system performance by decreasing recompilation of dependent source modules is described. During operation, the system keeps track of several pieces of information. From the outset, the system has kept track of the timestamps of sources (e.g., A.java file in a Java system) and compiled files thereof (e.g., A.class class file in a Java system). Examination of the timestamps leads to detection of those files which have been modified. The system will recompile A.java in the following circumstances: (1) A.class is not found, (2) A.java has a different timestamp, or (3) A.class has a different timestamp. Otherwise, the system does not invoke a recompile. If a recompilation in not required, the system then looks to the imports for determining whether the imports are consistent. Here, the system checks the timestamps of imports, possibly recompiling one or more of the modules providing the imports. If the imports have been recompiled, then the system must check the root module for determining whether it remains consistent with the imports--that is, whether A is still consistent with its imports. If not, the system recompiles the source file (e.g., A.java).

    摘要翻译: 描述了通过减少依赖源模块的重新编译来提供改进系统性能的方法的开发系统。 在操作过程中,系统会跟踪几条信息。 从一开始,系统一直跟踪来源的时间戳(例如,Java系统中的A.java文件)及其编译的文件(例如,Java系统中的A.class类文件)。 检查时间戳导致检测那些已被修改的文件。 在以下情况下,系统将重新编译A.java:(1)没有找到A.class,(2)A.java有不同的时间戳,或者(3)A.class有不同的时间戳。 否则,系统不会调用重新编译。 如果不需要重新编译,系统会查看导入以确定导入是否一致。 这里,系统检查导入的时间戳,可能会重新编译一个或多个提供导入的模块。 如果导入已重新编译,则系统必须检查根模块以确定其是否与导入保持一致 - 即A是否仍与其导入一致。 如果没有,系统将重新编译源文件(例如A.java)。

    Development system with methods for just-in-time compilation of programs
    2.
    发明授权
    Development system with methods for just-in-time compilation of programs 失效
    具有即时编译程序的方法的开发系统

    公开(公告)号:US6151703A

    公开(公告)日:2000-11-21

    申请号:US650512

    申请日:1996-05-20

    申请人: Regis Crelier

    发明人: Regis Crelier

    CPC分类号: G06F9/443 G06F9/45516

    摘要: A development system having a client which employs a virtual machine for executing programs written in the Java programming language is described. The client executes a "compiled" (i.e., bytecode or pseudo-compiled) Java program, which has been created by compiling a Java source code program or script with a Java compiler. The pseudo-compiled program comprises the bytecode emitted by the compiler. The development system further includes a just-in-time compiler which natively compiles each pseudo-compiled method of a Java program on a "just-in-time" basis--that is, compiles each method as it is actually used into native machine code for a target microprocessor. Methods which are unused are left uncompiled (i.e., left as bytecode). During program execution, when a method call is made from interpreted code, the system employs an "invoker" slot of the callee. When a method call is made from compiled code, the system employs a "compiled code" slot of the callee. As the addresses for the slots themselves remain unchanged, a method which has been compiled need not be recompiled when a callee method it invokes is itself compiled. In this manner, a method (caller) calling another method (callee) need not know whether it is calling is an interpreted method or a compiled method.

    摘要翻译: 描述具有使用虚拟机执行以Java编程语言编写的程序的客户机的开发系统。 客户端执行通过使用Java编译器编译Java源代码程序或脚本而创建的“编译”(即字节码或伪编译)Java程序。 伪编译程序包括编译器发出的字节码。 开发系统还包括一个即时编译器,它以“准时”的方式在本地编译Java程序的每个伪编译方法,即将实际使用的每个方法编译为本地机器代码 用于目标微处理器。 未使用的方法未编译(即,作为字节码留下)。 在程序执行期间,当从解释代码进行方法调用时,系统使用被调用者的“调用者”插槽。 当从编译代码进行方法调用时,系统采用被调用方的“编译代码”槽。 由于插槽本身的地址保持不变,当调用的被调用方法本身被编译时,已经编译的方法不需要重新编译。 以这种方式,调用另一个方法(被调用者)的方法(调用方)不需要知道它是调用是一种解释方法还是编译方法。

    Development system with methods for detecting invalid use and management
of resources and memory at runtime
    3.
    发明授权
    Development system with methods for detecting invalid use and management of resources and memory at runtime 失效
    开发系统具有检测运行时资源和内存无效使用和管理的方法

    公开(公告)号:US5907709A

    公开(公告)日:1999-05-25

    申请号:US598306

    申请日:1996-02-08

    IPC分类号: G06F11/36 G06F11/08

    CPC分类号: G06F11/366

    摘要: A development system having a compiler, a linker, and an interface is generated. When the system is (optionally) operating in a "code guarded" mode, the linker links the object modules with a CodeGuard.TM. Library to generate "code guarded" program(s). The API (Application Programming Interface) calls to the runtime libraries are "wrappered" by CodeGuard wrapper functions. Additionally in this mode, operation of the compiler is altered to insert calls from the user code (e.g., compiled user code in object modules) to the CodeGuard Runtime Library, for checking runtime use of resources and memory. As a result, the system can identify a programming error at the location where it occurs that is, at the original line of code which gave rise to the problem in the first place. Errors are found immediately as they happen, so that the original offending site can be determined. In this manner, the task of creating computer programs is simplified.

    摘要翻译: 生成具有编译器,链接器和接口的开发系统。 当系统(可选)以“代码保护”模式运行时,链接器将对象模块与CodeGuard TM库链接以生成“代码守护”程序。 API(应用编程接口)对运行时库的调用由CodeGuard包装函数“包装”。 另外在这种模式下,修改编译器的操作,将用户代码(例如,对象模块中编译的用户代码)的调用插入到CodeGuard运行时库中,以检查资源和内存的运行时间。 因此,系统可以在发生的位置识别编程错误,这是在原来的代码行首先引起问题的。 发生错误时立即发现,以便可以确定原始的违规网站。 以这种方式,简化了创建计算机程序的任务。

    Development system and methods with direct compiler support for
detecting invalid use and management of resources and memory at runtime
    4.
    发明授权
    Development system and methods with direct compiler support for detecting invalid use and management of resources and memory at runtime 失效
    支持直接编译的开发系统和方法,用于在运行时检测资源和内存的无效使用和管理

    公开(公告)号:US5909580A

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

    申请号:US598309

    申请日:1996-02-08

    IPC分类号: G06F11/36 G06F11/08

    CPC分类号: G06F11/366 G06F11/3624

    摘要: A development system having a compiler, a linker, and an interface for detecting invalid use of resource is generated. When the system is (optionally) operating in a "code guarded" mode, the linker links the object modules with a CodeGuard.RTM. Library to generate "code guarded" program(s). The API (Application Programming Interface) calls to the runtime libraries are "wrappered" by CodeGuard wrapper functions. Additionally in this mode, operation of the compiler is altered to insert calls from the user code (e.g., compiled code in object modules) to the CodeGuard Runtime Library, for checking runtime use of resources and memory. As a result, the system can identify a programming error at the location where it occurs that is, at the original line of code which gave rise to the problem in the first place. Errors are found immediately as they happen, so that the original offending site can be determined. In this manner, the task of creating computer programs is simplified.

    摘要翻译: 产生具有编译器,链接器和用于检测资源的无效使用的接口的开发系统。 当系统(可选)以“代码保护”模式运行时,链接器将对象模块与CodeGuard TM库链接以生成“代码守护”程序。 API(应用编程接口)对运行库的调用由CodeGuard包装函数“包装”。 另外在这种模式下,编译器的操作被改变以将来自用户代码(例如,对象模块中的编译代码)的调用插入到CodeGuard运行时库中,以检查资源和存储器的运行时使用。 因此,系统可以在发生的位置识别编程错误,这是在原来的代码行首先引起问题的。 发生错误时立即发现,以便可以确定原始的违规网站。 以这种方式,简化了创建计算机程序的任务。