Information is computed about the reachability relationships among objects and pointers to enable transformation of a computer program for optimizing the creation and destruction of objects, while strictly performing the semantics of the original program. An interprocedural analysis is used to determine whether an object that is allocated on the heap during the execution of a procedure is not reachable from any global variable, parameter, or the return value of the procedure after it returns. If so, that object can be allocated on the stack frame of the procedure in which it is otherwise heap-allocated. This simplifies the memory allocation and deallocation operations, as allocation on the stack can be done more efficiently than allocation on the heap, and objects allocated on the stack frame of a procedure are automatically deallocated when the procedure returns, without incurring the overhead of garbage collection. This, in turn, leads to faster programs which use fewer computer processor resources to execute. The interprocedural analysis of the program summarizes the effect of a procedure call succinctly for different calling contexts of the procedure using a single summary representation. The method handles exceptions in the programming language, while taking advantage of the information about the visibility of variables in the exception handler. Variants of the method show how one or several of the features of the method may be performed.

Informationen werden über die reachability Verhältnisse unter Gegenständen und Zeigern berechnet, um Umwandlung eines Computerprogramms für die Optimierung der Kreation und der Zerstörung der Gegenstände zu ermöglichen, beim die Semantik des ursprünglichen Programms ausschließlich durchführen. Eine interprocedural Analyse wird verwendet, um festzustellen, ob ein Gegenstand, der auf dem Haufen während der Durchführung eines Verfahrens zugeteilt wird, nicht von irgendeiner globalen Variable, vom Parameter oder vom Rückholwert des Verfahrens nach ihm zurückgeht erreichbar ist. Wenn so, kann dieser Gegenstand auf dem Stapelrahmen des Verfahrens zugeteilt werden, in dem er anders Haufen-zugeteilt wird. Dieses vereinfacht die Speicherallozierung und Aufhebungbetriebe, während Verteilung auf dem Stapel leistungsfähiger erfolgt werden kann als Verteilung auf dem Haufen, und die Gegenstände, die auf dem Stapelrahmen eines Verfahrens zugeteilt werden, werden automatisch wenn die Verfahren Rückkehr freigegeben, ohne auf die Unkosten der Abfallansammlung sich zu nehmen. Dieses führt der Reihe nach zu schnellere Programme, die wenige Computerprozessorbetriebsmittel benutzen, um durchzuführen. Die interprocedural Analyse des Programms faßt den Effekt eines Verfahren Anrufs succinctly für unterschiedliche benennende Kontexte des Verfahrens mit einer einzelnen zusammenfassenden Darstellung zusammen. Die Methode faßt Ausnahmen in der Programmiersprache, beim Ziehen des Nutzens aus den Informationen über die Sicht von Variablen in der Ausnahmezufuhr an. Varianten der Methode zeigen, wie eine oder mehrere der Eigenschaften der Methode durchgeführt werden können.

 
Web www.patentalert.com

< (none)

< Software package management

> Dynamic classification of sections of software

> (none)

~ 00034