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


Ignore:
Timestamp:
May 11, 2007 9:44:32 AM (8 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--: