摘要:
A system and method for inducing asynchronous behavioral changes in a managed application process are provided. An application manager process is executed. A managed application process is executed. At least one application provided as object-oriented program code under the control of a managed code platform is executed. The managed application process logically communicates with the application manager process. One or more constructors corresponding to notifiable objects provided as object-oriented program code are identified. Each constructor keeps track of instantiated notifiable objects in a list in the managed application process. A change request is broadcast to the managed application process. The notifiable objects tracked by each identified constructor are iterated over to effect a behavioral change in the managed application process.
摘要:
Methods, systems, and software for efficiently creating virtual file systems including object files which contain data are described. In one aspect of the invention, a method for creating a virtual file system includes retrieving a data file from a file system. A snapshot of the data file is created and converted into an object data file. The converted object data file is linked to at least one other object file. The data file can be concatenated with at least one other data file to create the snapshot. A set of assembly instructions for creating an object file from the snapshot is generated. The assembly instructions include instructions to reserve space within the object file for data contained in the data file. The assembly instructions are converted into an object file and the snapshot of the data file is copied into the reserved space.
摘要:
Techniques are disclosed for sharing programmatic modules among isolated virtual machines. A master JVM process loads data from a programmatic module, storing certain elements of that data into its private memory region, and storing other elements of that data into a "read-only" area of a shareable memory region. The master JVM process copies loaded data from its private memory region into a "read/write" area of the shareable memory region. Instead of re-loading the data from the programmatic module, other JVM processes map to the read-only area and also copy the loaded data from the read/write area into their own private memory regions. The private memory areas of all of the JVM processes begin at the same virtual memory address, so references between read-only data and copied data are preserved correctly. As a result, multiple JVM processes start up faster, and memory is conserved by avoiding the redundant storage of shareable data.
摘要:
A system and method for inducing asynchronous behavioral changes in a managed application process are provided. An application manager process is executed. A managed application process is executed. At least one application provided as object-oriented program code under the control of a managed code platform is executed. The managed application process logically communicates with the application manager process. One or more constructors corresponding to notifiable objects provided as object-oriented program code are identified. Each constructor keeps track of instantiated notifiable objects in a list in the managed application process. A change request is broadcast to the managed application process. The notifiable objects tracked by each identified constructor are iterated over to effect a behavioral change in the managed application process.
摘要:
A method, apparatus, and software for efficiently allocating discontiguous stack space without requiring compiler changes are described. In one aspect, a method is provided for executing a compiled function that is located in a first computer memory stack chunk such that additional memory is allocated efficiently if a determination is made that such additional memory is necessary for execution of the compiled function. In one embodiment, the method includes calling a stack checking function that includes the compiled function. A determination is made if additional memory is required for executing the compiled function. If no additional memory is required, then the compiled function is called and executed. However, if additional memory is necessary, then additional memory is allocated that is discontiguous with the original memory stack.
摘要:
A computer implemented method and machine readable media for managing a registry of bound objects for inter-Xlet communication (IXC) is described. A request from a first Xlet to bind an exported object name with a remote reference is received. A number of objects exported by the first Xlet is compared with a maximum number. If the number of objects exported is less than the maximum number then a binding is added for the exported object name and the remote reference. If the number of objects exported is greater than the maximum number, then the request is denied.
摘要:
Techniques for assuring thread rendezvous for a plurality of threads executing in a computing system are disclosed. Techniques can be used to assure thread rendezvous for read-only code in a manner that is more efficient than polling techniques. A Light-weight, Yet Trappable On Demand (LYTOD) instruction can be generated for code that is executed by one or more threads. Typically, a LYTOD instruction is generated at critical points of the code in order to assure safe-point thread rendezvous. The LYTOD is a lightweight instruction that can change its behavior from a lightweight instruction to an instruction that causes a trap when executed. The LYTOD can, for example, be implemented as a read-from-memory instruction that operates to load a register with a content of a valid memory location.
摘要:
A system and method for dynamically and persistently tracking incremental profiling data in a process cloning application environment is presented. A master runtime system process is executed. A memory space of the master runtime system process is cloned as a child runtime system process responsive to a process request. The child runtime system process is executed. The execution of the child runtime system process is profiled by collecting profiling data incrementally. The child runtime system process profiles are fed back to the master runtime system process to benefit subsequent cloned child runtime system processes. In a further embodiment, the child runtime system process profiles are maintained in a persistent storage for use by the master runtime system process upon the next start up.
摘要:
A method and apparatus for pre-processing and packaging class files. Embodiments remove duplicate information elements from a set of class files to reduce the size of individual class files and to prevent redundant resolution of the information elements. Memory allocation requirements are determined in advance for the set of classes as a whole to reduce the complexity of memory allocation when the set of classes are loaded. The class files are stored in a single package for efficient storage, transfer and processing as a unit. In an embodiment, a pre-processor examines each class file in a set of class files to locate duplicate information in the form of redundant constants contained in a constant pool. The duplicate constant is placed in a separate shared table, and all occurrences of the constant are removed from the respective constant pools of the individual class files. During pre-processing, memory allocation requirements are determined for each class file, and used to determine a total allocation requirement for the set of class files. The shared table, the memory allocation requirements and the reduced class files are packaged as a unit in a multi-class file.