anchor.diff:  -spec post_beam_load(atom()) -> 'ok'.
   
   post_beam_load(Mod) when is_atom(Mod) ->
  +  erlang:system_flag(multi_scheduling, block),
  +  try
  +    post_beam_load_nosmp(Mod)
  +  after
  +    erlang:system_flag(multi_scheduling, unblock)
  +  end.
  +
  +post_beam_load_nosmp(Mod) ->
     Architecture = erlang:system_info(hipe_architecture),
     try chunk_name(Architecture) of _ChunkTag -> patch_to_emu(Mod)
     catch _:_ -> ok
  
positive.code: -spec load(Mod, binary()) -> 'bad_crc' | {'module',Mod}
  			      when is_subtype(Mod,atom()).
  load(Mod, Bin) ->
    ?debug_msg("********* Loading funs in module ~w *********\n",[Mod]),
    %% Loading just some functions in a module; patch closures separately.
    put(hipe_patch_closures, true),
  
negative.code: -spec load_module(Mod, binary(), _) -> 'bad_crc' | {'module',Mod}
  	     				when is_subtype(Mod,atom()).
  load_module(Mod, Bin, Beam) ->
    erlang:system_flag(multi_scheduling, block),
    try
      load_module_nosmp(Mod, Bin, Beam)
    after
      erlang:system_flag(multi_scheduling, unblock)
    end.
  
  load_module_nosmp(Mod, Bin, Beam) ->
    load_module(Mod, Bin, Beam, []).
  
  load_module(Mod, Bin, Beam, OldReferencesToPatch) ->
  