TL;DR: In this paper, a local object lifetime bit is provided in the encoded fields portion of access descriptors, object descriptors and page table entries to determine the lifetime of an object.
Abstract: An object-oriented computer architecture in which access descriptors include an object index for selecting an object in the address space, and a rights field specifying the permissible operations on a bi-paged object selected by the access descriptor. A local object lifetime bit is provided in the encoded fields portion of access descriptors, object descriptors, and page table entries to determine the lifetime of an object. The AD lifetime bit in the encoded fields of AD is compared in OTE Lifetime Check Logic with the destination object lifetime, the OTE local bit in the encoded fields of the OTE access descriptor. The OTE local bit in the encoded fields of the OTE is compared in PDTE Lifetime Check Logic with the destination object lifetime, the PDTE local bit in the encoded fields of the PDTE access descriptor. The PDTE local bit in the encoded fields of the PDTE is compared in PTE Lifetime Check Logic with the destination object lifetime, the PTE local bit in the encoded fields of the PTE access descriptor. If any of these checks fails, a protection lifetime fault is asserted.
TL;DR: In this article, an accelerated life defect influence model is identified for each sample object defect, relating the lifetime of an object to the defect magnitude of a defect in the object, and a prediction of the reliability of integrated circuits is generated from the sample object lifetimes according to the reliability connectivity of the associated objects in the integrated circuit design.
Abstract: Systems, methods and computer program products for predicting defect-related failures in integrated circuits produced by an integrated circuit fabrication process identify objects in a circuit layout for the integrated circuit design, each object having a location in the circuit layout and a reliability connectivity in the integrated circuit design. Sample object defects are generated for the identified objects, each sample object defect representing a defect produced in an object by the integrated circuit fabrication process and having a defect magnitude associated therewith. An accelerated life defect influence model is identified for each sample object defect, relating the lifetime of an object to the defect magnitude of a defect in the object. Sample object lifetimes are generated from the defect magnitudes associated with the sample object defects according to the corresponding identified accelerated life defect influence models. A prediction of the reliability of integrated circuits is generated from the sample object lifetimes according to the reliability connectivity of the associated objects in the integrated circuit design. Preferably, the accelerated life defect influence models include log-linear regression models, which may include deterministic object lifetime functions, each relating the defect magnitude of the at least one sample object defect to one object lifetime value, and log-linear object lifetime distributions, each relating the defect magnitude of a sample object defect to a plurality of object lifetime values.
TL;DR: In this article, run time sampling techniques have been developed whereby representative object lifetime statistics may be obtained and employed to adaptively affect tenuring decisions, memory object promotion and/or storage location selection.
Abstract: Run time sampling techniques have been developed whereby representative object lifetime statistics may be obtained and employed to adaptively affect tenuring decisions, memory object promotion and/or storage location selection. In some realizations, object allocation functionality is dynamically varied to achieve desired behavior on an object category-by-category basis. In some realizations, phase behavior affects sampled lifetimes e.g., for objects allocated at different phases of program execution, and the dynamic facilities described herein provide phase-specific adaptation tenuring decisions, memory object promotion and/or storage location selection. In some realizations, reversal of such decisions is provided.
TL;DR: In this article, a computer implemented technique for the static evaluation of the lifetime of objects allocated in memory is presented, which find application in reducing the overhead of generational garbage collection, combining pointer alias analysis with static object size determination, from which accurate generational assignment of newly created objects can be accomplished.
Abstract: A computer implemented technique for the static evaluation of the lifetime of objects allocated in memory is presented, which find application in reducing the overhead of generational garbage collection. The method combines pointer alias analysis with static object size determination, from which accurate generational assignment of newly created objects can be accomplished.
TL;DR: It is shown that trace granularity often distorts simulated garbage collection results compared with perfect traces, and a new algorithm called Merlin is presented, which can generate traces over two orders of magnitude faster than the brute-force method which collects after every object allocation.
Abstract: Programmers are writing a rapidly growing number of programs in object-oriented languages, such as Java and Cn, that require garbage collection. Garbage collection traces and simulation speed up research by enabling deeper understandings of object lifetime behavior and quick exploration and design of new garbage collection algorithms. When generating perfect traces, the brute-force method of computing object lifetimes requires a whole-heap garbage collection at every potential collection point in the program. Because this process is prohibitively expensive, researchers often use granulated traces by collecting only periodically, for example, every 32 KB of allocation.We extend the state of the art for simulating garbage collection algorithms in two ways. First, we develop a systematic methodology for simulation studies of copying garbage collection and present results showing the effects of trace granularity on these simulations. We show that trace granularity often distorts simulated garbage collection results compared with perfect traces. Second, we present and measure the performance of a new algorithm called Merlin for computing object lifetimes. Merlin timestamps objects and later uses the timestamps of dead objects to reconstruct when they died. The Merlin algorithm piggybacks on garbage collections performed by the base system. Experimental results show that Merlin can generate traces over two orders of magnitude faster than the brute-force method which collects after every object allocation. We also use Merlin to produce visualizations of heap behavior that expose new object lifetime behaviors.