[roll] Roll fuchsia [fuchsia-async] Some memory saving optimisations

Prior to this change, tasks were held in Arc and then a Box.  This CL
removes one of them so that we just have a Box.  The Arc reference count
is now integrated into AtomicFuture's state, so that also saves the
strong and weak reference counts that Arc has.

There are some other memory savings: `Scope::all_tasks` is now a
`HashSet` rather than a `HashMap`.

Unfortunately, this did involve the use some more unsafe code, but
AtomicFuture already had a fair bit of that.

This might show some performance improvements due to improved CPU cache
behaviour.

Original-Reviewed-on: https://fuchsia-review.googlesource.com/c/fuchsia/+/1224064
Original-Revision: 7aa9a12a5dcfb42c1103682f3c89d27e6aff0a1a
GitOrigin-RevId: 9a8793087becfb96b42f490c95d8179db7b7ec6c
Change-Id: Ic032229ed7cfb89d4ccfe6a25d882bcf5738be92
1 file changed
tree: 49862b8d99167c0bf440c4807452828ebf93147f
  1. ctf/
  2. git-hooks/
  3. infra/
  4. third_party/
  5. cts
  6. firmware
  7. flower
  8. jiri.lock
  9. MILESTONE
  10. minimal
  11. prebuilts
  12. README.md
  13. stem
  14. test_durations
  15. toolchain
README.md

Integration

This repository contains Fuchsia's Global Integration manifest files.

Making changes

All changes should be made to the internal version of this repository. Our infrastructure automatically updates this version when the internal one changes.

Currently all changes must be made by a Google employee. Non-Google employees wishing to make a change can ask for assistance in one of the communication channels documented at get involved.

Obtaining the source

First install Jiri.

Next run:

$ jiri init
$ jiri import minimal https://fuchsia.googlesource.com/integration
$ jiri update

Third party

Third party projects should have their own subdirectory in ./third_party.