Claims
- 1. A computer-implemented method for storing data associated with one of a plurality of return points to enable the data associated with the one of the plurality of return points to be efficiently obtained, the plurality of return points including an expected return point and a first alternate return point, the computer-implemented method comprising:
calling the function from within the routine while the routine is executing, wherein the function is separate from the routine; beginning an execution of the function; returning from the function to the routine, wherein the function returns to a location in the routine identified by the expected return point; and executing a first instruction in the routine, wherein executing the first instruction uses approximately no computational overhead, and does not affect execution of the routine.
- 2. A computer-implemented method as recited in claim 1 wherein the function returns to the routine as expected, the method further including:
completing the execution of the function before returning to the expected return point, the expected return point being arranged to identify the first instruction in the routine.
- 3. A computer-implemented method as recited in claim 2 further including continuing execution of the routine.
- 4. A computer-implemented method as recited in claim 1 wherein beginning the execution of the function includes loading the first alternate return point, wherein the first alternate return point is identified by an instruction located at a fixed offset from the expected return point.
- 5. A computer-implemented method as recited in claim 4 further including:
aborting the execution of the called function; and jumping to the first alternate return point.
CROSS REFERENCE TO RELATED APPLICATIONS
[0001] This application is related to U.S. patent application Ser. No. ______ (Atty. Docket No. SUN1P146/P2296), entitled “Inline Database for Receiver Types in Object-Oriented Systems,” U.S. patent application Ser. No. ______ (Atty Docket No. SUN1P147/P2297), entitled “Method and Apparatus for Performing Byte-Code Optimization During Pauses, U.S. patent application Ser. No. ______ (Atty. Docket No. SUN1P150/P2300), entitled “Mixed Execution Stack and Exception Handling,” U.S. patent application Ser. No. ______ (Atty. Docket No. SUN1P156/P2306), entitled “Site Specific Message Dispatch in Object-Oriented Systems,” U.S. patent application Ser. No. ______ (Atty. Docket No. SUN1P168/P2840), entitled “Method and Apparatus for Dynamically Optimizing Byte-Coded Programs,” U.S. patent application Ser. No. ______ (Atty. Docket No. SUN1P175/P2841), entitled “Method and Apparatus for Dynamically Optimizing Compiled Activations,” all filed concurrently herewith, U.S. patent application Ser. No. ______ (Atty. Docket No. SUN1P144/P2260), entitled “Interpreting Functions Utilizing a Hybrid of Virtual and Native Machine Instructions,” filed Jun. 30, 1997, and U.S. patent application Ser. No. ______ (Atty. Docket No. SUN1P151/P2301), entitled “Interpreter Generation and Implementation Utilizing Interpreter States and Register Caching,” filed Jun. 30, 1997, which are all incorporated herein by reference for all purposes in their entirety.