anchor.diff:    BadFunLabName = hipe_rtl:label_name(NonClosureLabel),
     BadFunCode =
       [NonClosureLabel,
  -     hipe_rtl:mk_call([NAddressReg],
  +     hipe_rtl:mk_call([NCNAddressReg],
   		      'nonclosure_address',
   		      [Fun, hipe_rtl:mk_imm(length(Args))],
   		      hipe_rtl:label_name(CallNonClosureLabel),
  
positive.code:      CallNonClosureLabel,
       case Continuation of
         [] ->
  	 hipe_rtl:mk_enter(NAddressReg, Args, not_remote);
         _ ->
  	 hipe_rtl:mk_call(Dst, NAddressReg, Args,
  			  Continuation, Fail, not_remote)
       end],
  
    {BadArityLabName, BadArityCode} = gen_fail_code(Fail, {badarity, Fun}),
  
    CheckGetCode = 
      hipe_tagscheme:if_fun_get_arity_and_address(ArityReg, NAddressReg,
  						Fun, BadFunLabName,
  						0.9),
    CheckArityCode = check_arity(ArityReg, length(RevArgs), BadArityLabName),
    CallCode =
      case Continuation of
        [] -> %% This is a tailcall
  	[hipe_rtl:mk_enter(NAddressReg, ArgsAndFun, not_remote)];
        _ -> %% Ordinary call
  	[hipe_rtl:mk_call(Dst, NAddressReg, ArgsAndFun,
  			  Continuation, Fail, not_remote)]
      end,
    [CheckGetCode, CheckArityCode, CallCode, BadFunCode, BadArityCode].
  
negative.code: %% call_fun (also handles enter_fun when Continuation = [])
  
  gen_call_fun(Dst, ArgsAndFun, Continuation, Fail) ->  
    NCNAddressReg = hipe_rtl:mk_new_reg(),
    ArityReg = hipe_rtl:mk_new_reg_gcsafe(),
    [Fun|RevArgs] = lists:reverse(ArgsAndFun),
  
  