anchor.diff:         false -> Code3;
          true -> [mk_redtest()|Code3]
        end],
  -  IsClosure = get_closure_info(MFA, ClosureInfo) =/= not_a_closure,
     Code5 = hipe_icode:mk_icode(MFA, FunArgs, IsClosure, IsLeaf,
   			      remove_dead_code(Code4),
   			      hipe_gensym:var_range(icode),
  
positive.code: 		  {Code3,_Env3} = mk_debug_calltrace(MFA, Env1, Code2),
  		  {Code3,_Env3} = {Code2,Env1}),
    %% For stack optimization
    Leafness = leafness(Code3),
    IsLeaf = is_leaf_code(Leafness),
    Code4 =
      [FunLbl |
  
negative.code: 
  mk_redtest() -> hipe_icode:mk_primop([], redtest, []).
  
  leafness(Is, IsClosure) -> % -> true, selfrec, closure, or false
    leafness(Is, IsClosure, true).
  
  leafness([], _IsClosure, Leafness) ->
    Leafness;
  leafness([I|Is], IsClosure, Leafness) ->
    case I of
      #icode_comment{} ->
        %% BEAM self-tailcalls become gotos, but they leave
  