roll: pigweed pw_allocator: Store TestHarness::Allocation inline

This module include a TestHarness class which can generate requests for
an allocator to allocate, reallocate and deallocate regions of memory.
Previously, this harness took a vector of Allocation structs that was
used to stored the details of these requests. This allowed, for example,
the test harness to deallocate memory that had previously been
allocated.

Requiring this vector could result in significant overhead if a
substantial number of allocations were to be tested at once. This
overhead is unecessary though, as there is another place to store the
request details: in the allocations themselves!

This change sets a minimum size and alignment on requests. It makes the
Allocation struct an IntrusiveList item, and stores the Allocations in
the allocated memory.

Original-Reviewed-on: https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/230894
Presubmit-Verified: CQ Bot Account <pigweed-scoped@luci-project-accounts.iam.gserviceaccount.com>
Original-Revision: a4dab0be18a649c79759880308ed051b0a2576a4

Rolled-Repo: https://pigweed.googlesource.com/pigweed/pigweed
Rolled-Commits: e81f65b16a544f..a4dab0be18a649
Roller-URL: https://ci.chromium.org/b/8735891826557424705
GitWatcher: ignore
CQ-Do-Not-Cancel-Tryjobs: true
Change-Id: I3e7a1a25b9d9352e0d80453fa2dcc117f7f37867
Reviewed-on: https://pigweed-review.googlesource.com/c/pigweed/showcase/sense/+/237595
Lint: Lint 🤖 <android-build-ayeaye@system.gserviceaccount.com>
Bot-Commit: Pigweed Roller <pigweed-roller@pigweed-service-accounts.iam.gserviceaccount.com>
Commit-Queue: Pigweed Roller <pigweed-roller@pigweed-service-accounts.iam.gserviceaccount.com>
1 file changed
tree: 4f046022d243c389730cd34612ad04675687947d
  1. .github/
  2. .vscode/
  3. apps/
  4. device/
  5. modules/
  6. system/
  7. targets/
  8. tools/
  9. web_app/
  10. .bazelignore
  11. .bazelrc
  12. .bazelversion
  13. .buildifier.json
  14. .clang-format
  15. .clangd.shared
  16. .gitignore
  17. .pw_console.yaml
  18. AUTHORS
  19. BUILD.bazel
  20. CONTRIBUTING.md
  21. LICENSE
  22. MODULE.bazel
  23. MODULE.bazel.lock
  24. OWNERS
  25. pigweed.json
  26. README.md
README.md

Sense

git clone https://pigweed.googlesource.com/pigweed/showcase/sense

Welcome to Pigweed Sense, a tour of key Pigweed components experienced through an imagined air quality product.

Please visit Sense: An interactive tour through Pigweed to get started.