Claims
- 1. A method for managing utilization of a unidirectional stack, comprising:initializing a fixed stack marker, a stack base and a stack pointer for said unidirectional stack; initializing a high water mark for tracking said stack pointer's location during execution of a program in a computing environment, said high water mark operating to identify said stack pointer's farthest location from said stack base, wherein said farthest location is indicative of how far said stack has grown at any time program's execution; upon fetching a program instruction to be executed in said computing environment, determining if said program instruction is operable to modify said stack pointer's current location to a new location in said unidirectional stack; it so, further determining whether said new location is within a predetermined stack range; and providing a warning upon determining that said new location is not within said predetermined stack range.
- 2. The method for managing utilization of a unidirectional stack as set forth in claim 1, wherein said predetermined stack range comprises a region bounded by said stack base and said stack marker.
- 3. The method for managing utilization of a unidirectional stack as set forth in claim 1, wherein said predetermined stack range comprises a region bounded by said stack base and said high water mark.
- 4. The method for managing utilization of a unidirectional stack as set forth in claim 1, wherein said computing environment comprises an architectural simulator operable to simulate a target hardware platform.
- 5. The method for managing utilization of a unidirectional stack as set forth in claim 4, wherein said target hardware platform is selected from the group consisting of a symmetric multiprocessing system, an asymmetric multiprocessing system, a loosely-coupled multiprocessing system, and a tightly-coupled multiprocessing system.
- 6. The method for managing utilization of a unidirectional stack as set forth in claim 1, further comprising the step of returning control to a user upon determining that said new location is not within said predetermined stack range.
- 7. A system for managing utilization of a unidirectional stack, comprising:means to initialize a fixed stack marker, a stack base and a stack pointer for said unidirectional stack; means for tracking said stack pointer's location during execution of a program in a computing environment, said means operating to identify said stack pointer's farthest location from said stack base, wherein said farthest location is indicative of how far said stack has grown at any time during said program's execution; means for determining if a program instruction is operable to modify said stack pointer's current location to a new location in said unidirectional stack; and means for providing a warning upon determining that said new location is not within a predetermined stack range associated with said unidirectional stack.
- 8. The system for managing utilization of a unidirectional stack as set forth in claim 7, wherein said predetermined stack range comprises a region bounded by said stack base and said stack marker.
- 9. The system for managing utilization of a unidirectional stack as set forth in claim 8, wherein said region includes said stack marker's location.
- 10. The system for managing utilization of a unidirectional stack as set forth in claim 7, wherein said computing environment comprises an architectural simulator operable to simulate a target hardware platform.
- 11. The system for managing utilization of a unidirectional stack as set forth in claim 10, wherein said target hardware platform is selected from the group consisting of a symmetric multiprocessing system, an asymmetric multiprocessing system, a loosely-coupled multiprocessing system, and a tightly-coupled multiprocessing system.
- 12. The system for managing utilization of a unidirectional stack as set forth in claim 7, wherein said predetermined stack range comprises a region bounded by said stack base and a high water mark identified by said means for tracking said stack pointer's location.
- 13. The system for managing utilization of a unidirectional stack as set forth in claim 12, wherein said region includes said high water mark.
CROSS-REFERENCE TO RELATED APPLICATION(S)
This application discloses subject matter related to the subject matter disclosed in the following commonly owned co-pending patent application(s): (i) “Stack Utilization Management System And Method For A Two-Stack Arrangement,” filed even date herewith, application Ser. No. 09/973,665, in the name(s) of: Dan Tormey, Joe Bolding and Gerald Everett.
US Referenced Citations (2)
Number |
Name |
Date |
Kind |
5903899 |
Steele, Jr. |
May 1999 |
A |
6449625 |
Wang |
Sep 2002 |
B1 |