Changes between Version 1 and Version 2 of LightweightCCSCallStack


Ignore:
Timestamp:
Oct 9, 2007 5:04:02 PM (7 years ago)
Author:
mnislaih
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • LightweightCCSCallStack

    v1 v2  
    4646}}} 
    4747* Deallocating AP closures: Following the semantics of [Samson 97], we must 
    48  # Extract the SCC annotated in the closure and push it in the CCS stack 
    49  # Deallocate the AP closure and enter it 
    50  # When we are done and before leaving, pop the CCS stack. 
     48 1. Extract the SCC annotated in the closure and push it in the CCS stack 
     49 1. Deallocate the AP closure and enter it 
     50 1. When we are done and before leaving, pop the CCS stack. 
    5151 
    5252* Deallocating PAP closures: propagate the CCS annotation in the closure to the AP being allocated. (I am assuming that PAPs are never entered directly, even if the application is saturated) 
     
    5656Following the semantics, we must restore the CCS after the scrutinee of a case statement has been entered. I.e. we should duplicate the CCS stack top before entering the scrutinee, and pop out before continuing to the alternatives. We are not very sure on how to do this, but the current plan is the following.  
    5757 
    58 # When we see a PUSH_ALT instruction, we duplicate the stack. 
    59 # After that, we know that the scrutinee will be entered, with a continuation. We modify the code generated for this continuation so that it will pushes a POP_CCS in the GHC stack.  
     58 1. When we see a PUSH_ALT instruction, we duplicate the stack. 
     59 1. After that, we know that the scrutinee will be entered, with a continuation. We modify the code generated for this continuation so that it will pushes a POP_CCS in the GHC stack.  
    6060 
    6161POP_CCS will be some piece of code that will pop the CCS stack.