anchor.diff:    Dst = [mk_var({r,0})],
     [hipe_icode:mk_comment('call_fun'),
      hipe_icode:mk_primop(Dst,call_fun,Args) | trans_fun(Instructions,Env)];
  -%%--- patched_make_fun --- make_fun/make_fun2 after fixes
  -trans_fun([{patched_make_fun,MFA,Magic,FreeVarNum,Index}|Instructions], Env) ->
  +%%--- make_fun2 ---
  +trans_fun([{make_fun2,MFA,Index,Magic,FreeVarNum}|Instructions], Env) ->
     Args = extract_fun_args(FreeVarNum),
     Dst = [mk_var({r,0})],
     Fun = hipe_icode:mk_primop(Dst,
  
positive.code: mod_find_closure_info([], CI) ->
    CI.
  
  find_closure_info([{patched_make_fun,MFA={_M,_F,A},_Magic,FreeVarNum,_Index}|BeamCode],
  		  ClosureInfo) ->
    NewClosure = %% A-FreeVarNum+1 (The real arity + 1 for the closure)
      #closure_info{mfa=MFA, arity=A-FreeVarNum+1, fv_arity=FreeVarNum},
  
negative.code: %%-----------------------------------------------------------------------
  
  preprocess_code(ModuleCode) ->
    ClosureInfo = find_closure_info(ModuleCode),
    {ModuleCode, ClosureInfo}.
  
  %%-----------------------------------------------------------------------
  
  