anchor.diff:        fun(TmpDir) ->
                 NEDM = gpb_nif_test_ed1,
                 Defs = mk_one_msg_field_of_each_type(),
  -              {ok, Code} = compile_msg_defs(NEDM, Defs, TmpDir),
  -              with_tmpcode(
  -                NEDM, Code,
  +              {ok, Code} = compile_nif_msg_defs(NEDM, Defs, TmpDir),
  +              in_separate_vm(
  +                TmpDir, NEDM, Code,
                   fun() ->
                           nif_encode_decode_test_it(NEDM, Defs),
                           nif_encode_decode_strings(NEDM, Defs),
  
positive.code: 
  -export([compile_iolist/2]).
  -export([unload_code/1]).
  
  %% Include a bunch of tests from gpb_tests.
  %% The shared tests are for stuff that must work both
  
negative.code:       end).
  
  
  compile_nif_msg_defs(M, MsgDefsOrIoList, TmpDir) ->
      compile_nif_msg_defs(M, MsgDefsOrIoList, TmpDir, []).
  
  compile_nif_msg_defs(M, MsgDefsOrIoList, TmpDir, Opts) ->
      {MsgDefs, ProtoTxt} =
          case is_iolist(MsgDefsOrIoList) of
              true -> {parse_to_proto_defs(MsgDefsOrIoList,Opts), MsgDefsOrIoList};
  