Changes between Version 16 and Version 17 of Commentary/Compiler/CmmType


Ignore:
Timestamp:
May 11, 2007 9:44:32 AM (7 years ago)
Author:
simonpj
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • Commentary/Compiler/CmmType

    v16 v17  
    834834... 
    835835 
    836  jump (f + 1)( ... ); 
     836 jump (bits32[x+4])( ... ); 
    837837 
    838838} 
    839839}}} 
    840 Remember that the computed procedure address, `(f + 1)`, is the memory location of a procedure name (assembler label); it is not meant to obtain the address of a code block ''within'' a procedure, as an alternative way of computing a ''continuation''.   
     840The computed procedure address, in this case `(bits32[x+4])`, should always be the first instruction of a `Cmm` procedure.  You cannot obtain the address of a code block ''within'' a procedure and `jump` to it, as an alternative way of computing a ''continuation''.   
    841841 
    842842`CmmBranch BlockId` represents an unconditional branch to another [wiki:Commentary/Compiler/CmmType#BasicBlocksandProcedures Basic Block] in the same procedure.  There are two unconditional branches in Cmm/C--: