anchor.diff:      true = ets:delete(T, N),
       grow_shrink_3(N-1, ShrinkTo, T).
   
  -%% Grow a table that still contains pseudo-deleted objects.
  +%% Grow a hash table that still contains pseudo-deleted objects.
   grow_pseudo_deleted(Config) when is_list(Config) ->
       only_if_smp(fun() -> grow_pseudo_deleted_do() end).
   
   grow_pseudo_deleted_do() ->
       lists:foreach(fun(Type) -> grow_pseudo_deleted_do(Type) end,
  -		  [set,cat_ord_set,stim_cat_ord_set,
  -                   ordered_set,bag,duplicate_bag]).
  +		  [set,bag,duplicate_bag]).
   
   grow_pseudo_deleted_do(Type) ->
       process_flag(scheduler,1),
  
positive.code: %% Primes where P rem 4 == 3.
  primes_3mod4() ->
      [103, 211, 503, 1019, 2003, 5003, 10007, 20011, 50023,
       100003, 200003, 500083, 1000003, 2000003].
  
negative.code: % turned on. The erts_debug feature 'ets_force_split' is used to easier
  % generate a routing tree with fine grained locking without having to
  % provoke lots of actual lock contentions.
  stimulate_contention(Tid, KeyRange, KeyFun) ->
      T = case Tid of
              A when is_atom(A) -> ets:whereis(A);
              _ -> Tid
          end,
      erts_debug:set_internal_state(ets_force_split, {T, true}),
      Num = case KeyRange > 50 of
                true -> 50;
                false -> KeyRange
            end,
      Seed = rand:uniform(KeyRange),
      %%io:format("prefill_table: Seed = ~p\n", [Seed]),
      RState = unique_rand_start(KeyRange, Seed),
      stim_inserter_loop(T, RState, Num, KeyFun),
      Num = ets:info(T, size),
      ets:match_delete(T, {'$1','$1','$1'}),
      0 = ets:info(T, size),
  