De-duplicate ranges information in persistent memory.

By having BucketRanges keep a reference to where the data can be found
in persistent memory, the existing de-dup of the BucketRanges object
also serves to avoid duplicating the data in persistent memory.

Simple testing shows allocated persistent histogram memory in the
browser is reduced by about 22%.  This should be similar in all
processes though somewhat less as the number of histograms held goes
down.

BUG=705342

Review-Url: https://codereview.chromium.org/2794073002
Cr-Commit-Position: refs/heads/master@{#462897}


CrOS-Libchrome-Original-Commit: af1913582fdf411b2f7edc84189c78b1fb402a37
4 files changed
tree: 2763ecb524ffe3710e08b269143bf2d8a47bf7e8
  1. base/
  2. build/
  3. components/
  4. dbus/
  5. device/
  6. ipc/
  7. mojo/
  8. testing/
  9. third_party/
  10. ui/