Abstract: A method and system for providing “just-in-time” dynamic loading and unloading of libraries. Library code is loaded into memory just prior to the actual execution of a routine in that library and is unloaded from memory after the execution of the library routine is completed. According to the present invention, a library structure having a library loader and a library implementation module. The library loader provides the same entry points as the library itself and contains code to drive the loading and unloading of the library implementation module which actually contains the code to implement the library call. At the beginning of the execution of an application or other software module, the library loaders for libraries needed by that application or other software module, are loaded into memory and unloaded upon completion of that application or other software module.
Type:
Grant
Filed:
September 29, 1998
Date of Patent:
November 6, 2001
Assignee:
Apple Computer, Inc.
Inventors:
Yan J. Arrouye, Sean J. Findley, Keith L. Mortensen
Abstract: The invention provides a method and apparatus for switching between execution of a plurality of object code types having different conventions for invoking program procedures and performing stack manipulations. The invention may also be used to switch between different calling conventions within a single object code type. Briefly according to the invention, a computer system comprises a routine descriptor, a stack switch frame, a mode switching mechanism for switching from a first processor, code or calling convention type to a second processor, code or calling convention type and means for executing instructions in various code types.
A routine descriptor describes a program or code segment and its code type and calling conventions. A routine descriptor contains, among other information, a “mixed mode” field which is set to a specific, predetermined value such as a value indicating an instruction which is not legal in the runtime environment of a first processor, code or calling convention type.
Type:
Grant
Filed:
March 22, 1995
Date of Patent:
July 3, 2001
Assignee:
Apple Computer, Inc.
Inventors:
Jean-Charles D. Mourey, Sean R. Parent, Bruce K. Jones, Alan W. Lillich, Erik L. Eidt, Eric P. Traut
Abstract: An authoring or other software tool is provided which allows users of the tool to review the creation and evolution of all or part of a content such as a multimedia title created using a tool incorporating the invention. According to the invention, an authoring tool comprises a recording mechanism for recording actions performed during the development or modification of software content in a manner that preserves, directly or indirectly, the relative chronological order of the actions and a playback mechanism for performing or otherwise simulating recorded actions. Preferably, the playback of an action includes annotation using text, recorded or computer-generated voice, video and/or graphic animation. Preferably, an authoring tool embodying the invention allows an author to specify criteria for which actions are to be played back, thereby providing an author with a mechanism for focusing on a particular subset of the recorded actions.
Abstract: An apparatus and method for an improved stack comprises an advantageous indexing scheme and stack arrangement allowing more efficient performance of stack operations. The most-recently-used stack item appears at the top of the stack and the least-recently-used item is at the bottom of the stack. Values in between the top and bottom items are ordered from top to bottom with succeedingly less recently used items. An indexing scheme is used to indirectly reference locations of the stack items in the stack. A set of registers is used to reference the locations of the stack items in an embedded memory array. The registers function as pointers to the memory array locations. To promote an item to the top of the stack, the item is identified as the most-recently-used and the contents of the other registers are changed to specify the new locations, e.g. these pointers are shifted down one.