servo/components
Nicholas Nethercote 4506f0d30c Replace all uses of the heapsize crate with malloc_size_of.
Servo currently uses `heapsize`, but Stylo/Gecko use `malloc_size_of`.
`malloc_size_of` is better -- it handles various cases that `heapsize` does not
-- so this patch changes Servo to use `malloc_size_of`.

This patch makes the following changes to the `malloc_size_of` crate.

- Adds `MallocSizeOf` trait implementations for numerous types, some built-in
  (e.g. `VecDeque`), some external and Servo-only (e.g. `string_cache`).

- Makes `enclosing_size_of_op` optional, because vanilla jemalloc doesn't
  support that operation.

- For `HashSet`/`HashMap`, falls back to a computed estimate when
  `enclosing_size_of_op` isn't available.

- Adds an extern "C" `malloc_size_of` function that does the actual heap
  measurement; this is based on the same functions from the `heapsize` crate.

This patch makes the following changes elsewhere.

- Converts all the uses of `heapsize` to instead use `malloc_size_of`.

- Disables the "heapsize"/"heap_size" feature for the external crates that
  provide it.

- Removes the `HeapSizeOf` implementation from `hashglobe`.

- Adds `ignore` annotations to a few `Rc`/`Arc`, because `malloc_size_of`
  doesn't derive those types, unlike `heapsize`.
2017-10-18 22:20:37 +11:00
..
atoms Replace all uses of the heapsize crate with malloc_size_of. 2017-10-18 22:20:37 +11:00
bluetooth Update WR (details below): 2017-10-16 16:33:24 +10:00
bluetooth_traits Update WR (details below): 2017-10-16 16:33:24 +10:00
canvas Auto merge of #18592 - MortimerGoro:dom_texture, r=jdm 2017-10-16 15:36:42 -05:00
canvas_traits Replace all uses of the heapsize crate with malloc_size_of. 2017-10-18 22:20:37 +11:00
compositing Auto merge of #18704 - mrobinson:wr-hit-testing, r=jdm,glennw,mbrubeck 2017-10-17 17:09:25 -05:00
config Fix commonmark Markdown warnings in docs, part 1 2017-10-17 11:24:57 -07:00
constellation Auto merge of #18704 - mrobinson:wr-hit-testing, r=jdm,glennw,mbrubeck 2017-10-17 17:09:25 -05:00
debugger
deny_public_fields deny_public_fields: display field identifier in help message 2017-06-25 18:12:43 +01:00
devtools Update WR (details below): 2017-10-16 16:33:24 +10:00
devtools_traits Replace all uses of the heapsize crate with malloc_size_of. 2017-10-18 22:20:37 +11:00
dom_struct Replace all uses of the heapsize crate with malloc_size_of. 2017-10-18 22:20:37 +11:00
domobject_derive Fix quote dependency version 2017-08-23 18:35:42 +02:00
fallible Bug 1400754 - stylo: crash on Win64 Asan build. r=manishearth, dmajor. 2017-10-02 20:53:23 +02:00
geometry Replace all uses of the heapsize crate with malloc_size_of. 2017-10-18 22:20:37 +11:00
gfx Replace all uses of the heapsize crate with malloc_size_of. 2017-10-18 22:20:37 +11:00
gfx_traits Replace all uses of the heapsize crate with malloc_size_of. 2017-10-18 22:20:37 +11:00
hashglobe Replace all uses of the heapsize crate with malloc_size_of. 2017-10-18 22:20:37 +11:00
jstraceable_derive Fix quote dependency version 2017-08-23 18:35:42 +02:00
layout Replace all uses of the heapsize crate with malloc_size_of. 2017-10-18 22:20:37 +11:00
layout_thread Replace all uses of the heapsize crate with malloc_size_of. 2017-10-18 22:20:37 +11:00
layout_traits Update WR (details below): 2017-10-16 16:33:24 +10:00
lru_cache Hoist lookup() into lru_cache. 2017-09-20 23:22:33 -07:00
malloc_size_of Replace all uses of the heapsize crate with malloc_size_of. 2017-10-18 22:20:37 +11:00
malloc_size_of_derive Overhaul MallocSizeOf and related things. 2017-09-12 12:37:51 +10:00
metrics Update WR (details below): 2017-10-16 16:33:24 +10:00
msg Replace all uses of the heapsize crate with malloc_size_of. 2017-10-18 22:20:37 +11:00
net Replace all uses of the heapsize crate with malloc_size_of. 2017-10-18 22:20:37 +11:00
net_traits Replace all uses of the heapsize crate with malloc_size_of. 2017-10-18 22:20:37 +11:00
nonzero Replace NonZeroU32 and NonZeroUsize with a generic NonZero 2017-10-16 20:19:19 +02:00
profile Update WR (details below): 2017-10-16 16:33:24 +10:00
profile_traits Replace all uses of the heapsize crate with malloc_size_of. 2017-10-18 22:20:37 +11:00
rand
range Replace all uses of the heapsize crate with malloc_size_of. 2017-10-18 22:20:37 +11:00
remutex Replace NonZeroU32 and NonZeroUsize with a generic NonZero 2017-10-16 20:19:19 +02:00
script Replace all uses of the heapsize crate with malloc_size_of. 2017-10-18 22:20:37 +11:00
script_layout_interface Replace all uses of the heapsize crate with malloc_size_of. 2017-10-18 22:20:37 +11:00
script_plugins Remove usage of unstable box syntax, except in the script crate 2017-10-12 12:10:56 +02:00
script_traits Replace all uses of the heapsize crate with malloc_size_of. 2017-10-18 22:20:37 +11:00
selectors Fix commonmark Markdown warnings in docs, part 1 2017-10-17 11:24:57 -07:00
servo Update WR (hit test relative point, query feature) 2017-10-17 13:42:35 +10:00
servo_arc Replace all uses of the heapsize crate with malloc_size_of. 2017-10-18 22:20:37 +11:00
size_of_test
style Replace all uses of the heapsize crate with malloc_size_of. 2017-10-18 22:20:37 +11:00
style_derive style: Remove HasViewportPercentage. 2017-08-29 23:51:21 +02:00
style_traits Replace all uses of the heapsize crate with malloc_size_of. 2017-10-18 22:20:37 +11:00
url Replace all uses of the heapsize crate with malloc_size_of. 2017-10-18 22:20:37 +11:00
webdriver_server Replace all uses of the heapsize crate with malloc_size_of. 2017-10-18 22:20:37 +11:00
webvr Update WR (details below): 2017-10-16 16:33:24 +10:00
webvr_traits Update WR (details below): 2017-10-16 16:33:24 +10:00