摘要:
A method and software for managing memory are provided in which objects residing in session memory are formatted so the references contained in the objects are in a machine-independent format, namely, that the references are encoded numerically. An exit table is provided to handle references with session memory that refer to locations in call memory, in which each entry in the exit table is associated with a corresponding reference in session memory and contains a pointer to the location in call memory.
摘要:
A method and apparatus for managing a run-time environment is provided for improving performance and scalability of networked computer systems. In one example of the invention, a method starts by loading a class file, the class file specifying a class that includes a static class variable and a static initializer to initialize the static class variable. The static initializer is then invoked to initialize the static class variable. The class and the initialized static class variable are then saved in a second class file. The second class file is then loaded into a shared memory, the second class file including the class and the initialized static class variable.
摘要:
A static object system is provided to allow for code for implementing a run-time environment to be automatically generated that is compatible with a high-order systems programming language such as C. In particular, the meta-object system is static, object-oriented, and uses generic functions that can dispatch to an appropriate member function based on the types of one or more arguments. In one embodiment, the generated dispatch code uses a multi-way conditional branch.
摘要:
Techniques are provided for instantiating separate Java virtual machines for each session established by a server. Because each session has its own virtual machine, the Java programs executed by the server for each user connected to the server are insulated from the Java programs executed by the server for all other users connected to the server. The separate VM instances can be created and run, for example, in separate units of execution that are managed by the operating system of the platform on which the server is executing. For example, the separate VM instances may be executed either as separate processes, or using separate system threads. Because the units of execution used to run the separate VM instances are provided by the operating system, the operating system is able to ensure that the appropriate degree of insulation exists between the VM instances.
摘要:
An invariant numeric reference format is defined in a run-time environment for both run-time and storage use. A numeric reference to an object encodes the location of the object as an integral offset from an implicit machine pointer. In environments where the size of contiguous virtual memory segments is limited, objects are stored in a number of fixed-size contiguous chunks in virtual memory called pages. A page-offset numeric reference includes an offset and a page number, which is used to index a page map that contains a page pointer to the beginning of the page. Page-offset numeric references are dereferenced by adding the offset in the numeric reference to the page pointer obtained from the page map based on the page number in the numeric reference.
摘要:
Techniques are provided for instantiating separate Java virtual machines for each session established by a server. Because each session has its own virtual machine, the Java programs executed by the server for each user connected to the server are insulated from the Java programs executed by the server for all other users connected to the server. The separate VM instances can be created and run, for example, in separate units of execution that are managed by the operating system of the platform on which the server is executing. For example, the separate VM instances may be executed either as separate processes, or using separate system threads. Because the units of execution used to run the separate VM instances are provided by the operating system, the operating system is able to ensure that the appropriate degree of insulation exists between the VM instances.
摘要:
A computer-implemented method and software are provided for supporting a platform independent object format for a run-time environment in which a definition of an object in terms of a composition of one or more primitive types and a platform-specific description of the one or more primitive types are accessed. A layout for the object is then generated in a high-order language based on the definition of the object and the platform-specific description.
摘要:
Techniques are provided for instantiating separate Java virtual machines for each session established by a server. Because each session has its own virtual machine, the Java programs executed by the server for each user connected to the server are insulated from the Java programs executed by the server for all other users connected to the server. The separate VM instances can be created and run, for example, in separate units of execution that are managed by the operating system of the platform on which the server is executing. For example, the separate VM instances may be executed either as separate processes, or using separate system threads. Because the units of execution used to run the separate VM instances are provided by the operating system, the operating system is able to ensure that the appropriate degree of insulation exists between the VM instances.
摘要:
Techniques are provided for accessing an instance of a recreatable object in a shorter-duration memory based on a reference located in a longer-duration memory, where the shorter-duration memory is associated with a call. One technique involves (1) locating, within the shorter-duration memory, a context structure associated with the call; (2) locating an XREF pointers array based on data cached within the context structure; (3) determining whether the XREF pointers array includes a pointer associated with the reference; and (4) if the XREF pointers array includes a pointer associated with the reference, then following the pointer to locate the instance within the shorter-duration memory. Another technique, which may be employed in addition to or instead of the first technique, involves: (1) when a class is activated, generating, within the shorter-duration memory, a class object associated with the class; (2) storing, within the class object, data for locating instances of recreatable objects associated with the class; (3) to dereference the reference, performing the steps of (a) determining that the reference is associated with the class; and (b) using the data within the class object to locate the instance of the recreatable object.
摘要:
In a paged memory system, memory is allocated as pages and aligned on 2N-byte boundaries that are at least as large as the largest page size. Memory management information about the page is stored in a page header at the beginning of the page, while the remaining space of the page is devoted for storing objects. The page header for the page on which at least some of the object is stored is located by masking off the lower N-bits of the machine pointer. These operation can be applied to converting machine pointers into and out of page-offset numeric references.