tcmalloc: add run-time CHECK to smoke-test allocator overrides

Original CL:

- https://codereview.chromium.org/1577883002

  Add run-time CHECK to smoke-test allocator overrides

  As part of the refactoring work on the allocator, it emerged that it
  would be nice to have a test that ensures that we don't accidentally
  break things along the way and not detected that.
  This CL adds a runtime CHECK() that verifies that:
   - On Windows (non-component build) the shim layer has been
     initialized. Concretely this checks that chrome called the shimmed
     _heap_init() method and not the one from libcmt.
   - On Linux desktop, the malloc symbols are being overridden by
     tcmalloc (only when USE_TCMALLOC is defined).

  The rationale of this test is: if _heap_init was shimmed there are
  very good chances that malloc (& friends) were shimmed as well.
  Likewise on Linux for mallopt() <-> malloc().

  BUG=564618
  Committed: https://crrev.com/be9d6fce01061afde845fd7aa2335e5757d6a421
  Cr-Commit-Position: refs/heads/master@{#369007}

BUG=724399,b:70905156

Change-Id: I047ac19bb71346fbf601825d335bd97729b9f688
Reviewed-on: https://chromium-review.googlesource.com/1130793
Commit-Queue: Gabriel Marin <gmx@chromium.org>
Reviewed-by: Will Harris <wfh@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#585633}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 748aa79fbcb880ab33b2dcaef0c0a6274a934789
2 files changed
tree: 180d9bfa820a745d9f0cec2e8a80a5e61f54c921
  1. src/