Changes between Version 18 and Version 19 of SemiTagging


Ignore:
Timestamp:
Nov 3, 2006 5:38:53 PM (9 years ago)
Author:
alexey
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • SemiTagging

    v18 v19  
    6969{{{
    7070        <stack check omitted>
    71         if([[R2]+tag_offset] == closure_info) goto tagged
     71        if([[R2]+type_offset] == CONST) goto evaluated  -- Check if closure is a constructor
    7272        R1 = R2;
    7373        I64[Sp + (-8)] = sej_info;
    7474        Sp = Sp + (-8);
    7575        jump I64[R1];
    76 tagged:
    77         R1 = R2 & ~1;  // mask pointer tag out
     76evaluated:
     77        R2=[[R2]+type_offset];
    7878        <extract constructor tag from pointer>
    79         if(tag==0) goto sej_0_alt
    80         goto sej_1_alt
     79        if(R2==0) goto notcont_0_alt
     80        goto notcont_1_alt
    8181}}}
    8282