A method and system for optimizing the passing of a parameter to a routine
is provided. It is determined if any parameters are aliased in a call to a
called routine. In the absence of aliases, calling routines passing
parameters to called routines using "call by reference". Recovery
mechanisms are provided, when appropriate, when unhandled exception occur
during execution of the called routines. According to the method, a
recovery mechanism includes encapsulating the called routine and call
statement block with a "catch-all" exception handler. The response to an
otherwise unhandled exception includes restoring the actual parameter
using a stored copy of the actual parameter. The restoration is performed
by making a handle point to the copy of the actual parameter that was made
before execution of the called routine.
Eine Methode und ein System für die Optimierung des Überschreitens eines Parameters zu einem Programm wird zur Verfügung gestellt. Es wird festgestellt, wenn irgendwelche Parameter aliased in einem Anruf zu einem benannten Programm sind. In Ermangelung von Namensabkürzungen, benennende Programme, die Parameter zu benannten Programmen mit "Referenzaufruf" führen. Wiederaufnahme Einheiten werden zur Verfügung gestellt, wenn passend, als Ausnahme auftreten während der Durchführung der benannten Programme unhandled. Entsprechend der Methode schließt eine Wiederaufnahme Einheit das Einkapseln des benannten Programms und des Aufrufanweisungblockes mit einer "verfangen-aller" Ausnahmezufuhr ein. Die Antwort zu unhandled anders Ausnahme einschließt die Wiederherstellung des Aktualparameters mit einer gespeicherten Kopie des Aktualparameters. Die Wiederherstellung wird durchgeführt, indem man einen Handgriffpunkt zur Kopie des Aktualparameters bildet, der vor Durchführung des benannten Programms gebildet wurde.