Changes between Version 15 and Version 16 of SemiTagging


Ignore:
Timestamp:
Nov 3, 2006 5:13:34 PM (8 years ago)
Author:
alexey
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • SemiTagging

    v15 v16  
    2323        <stack check omitted> 
    2424        R1 = R2; 
    25         I64[Sp + (-8)] = sej_info; 
     25        I64[Sp + (-8)] = notcont_info; 
    2626        Sp = Sp + (-8); 
    2727        jump I64[R1]; 
     
    3131{{{ 
    3232True_info: 
    33         jump <address to True alternative>; 
     33        jump [[Sp]] --address to True alternative; 
    3434 
    3535False_info: 
    36         jump <address to False alternative>; 
     36        jump [[Sp]+4] --address to False alternative>; 
    3737}}} 
    3838they just jump to the appropriate case alternative that is evaluating the closure. These addresses are calculated from the case frame that is on the top of the stack. In this case they select the alternatives from the jump table that is referred to by the {{{not}}} case frame. Below you see the {{{True}}} alternative 
    3939{{{ 
    40 sej_0_alt() { 
     40notcont_info { 
     41  notcont_0_alt, 
     42  notcont_1_alt 
     43}; 
     44 
     45notcont_0_alt() { 
    4146        R1 = False_closure; 
    4247        Sp = Sp + 8; 
     
    4651and the {{{False}}} alternative of the {{{not}}} function. 
    4752{{{ 
    48 sej_1_alt() { 
     53notcont_1_alt() { 
    4954        R1 = True_closure; 
    5055        Sp = Sp + 8;