Augments drbbdup to allow a value of 0 for drbbdup_options_t.non_default_case_limit. When it is set to 0, no duplication will occur, and no per-block data structures will be allocated, saving memory.
Adds a test case for this.
Updates drmemtrace to use this when multi-case options are not selected.
Sanity test: Before:
$ bin64/drrun -rstats_to_stderr -t drcachesim -offline -max_global_trace_refs 10K -- ~/spec2006/bzip2-test/bzip2_base.gcc-64bit ~/spec2006/bzip2-test/dryer.jpg 2
Peak vmm blocks for unreachable heap : 747
Peak vmm virtual memory in use (bytes) : 6963200
After:
Peak vmm blocks for unreachable heap : 631
Peak vmm virtual memory in use (bytes) : 6389760
Along with the prior shift to use unreachable heap for per-block data and then to eliminate and improve per-thread data, this concludes the memory reductions for #5411 (closed).
Fixes #5411 (closed)