You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Currently, the processor is unaware of the procedure context of an executing program. That is, the processor doesn't know which procedure is being executed, which procedure called the current procedure etc. This limits usefulness of debug info. Thus, it would be very useful if the processor maintained a "procedure stack".
To make a process aware of which procedures are executing, we could introduce two new decorators. Something like:
ProcStart - which the assembler would add at the start of each procedure.
ProcEnd - which the assembler would add right before a procedure returns.
Then, the processor would push a procedure onto a stack when it sees ProcStart decorator in the instruction stream, and remove a procedure from the stack when it sees ProcEnd decorator. This should be very lightweight - so, I don't think we should worry about performance implications.
The text was updated successfully, but these errors were encountered:
Currently, the processor is unaware of the procedure context of an executing program. That is, the processor doesn't know which procedure is being executed, which procedure called the current procedure etc. This limits usefulness of debug info. Thus, it would be very useful if the processor maintained a "procedure stack".
To make a process aware of which procedures are executing, we could introduce two new decorators. Something like:
ProcStart
- which the assembler would add at the start of each procedure.ProcEnd
- which the assembler would add right before a procedure returns.Then, the processor would push a procedure onto a stack when it sees
ProcStart
decorator in the instruction stream, and remove a procedure from the stack when it seesProcEnd
decorator. This should be very lightweight - so, I don't think we should worry about performance implications.The text was updated successfully, but these errors were encountered: