Various memory measurement improvements (#36834)

The two significant changes here are 1) a commit that frees memory used
to perform memory reporting once the reporting is complete, 2) memory
reporting for the system font service. There are various other commits
that remove `#[ignore_malloc_size_of]` attributes for data that we are
now able to measure, but they do not significantly change our
measurements when testing servo.org.

Testing: Comparing the output of about:memory on servo.org.

---------

Signed-off-by: Josh Matthews <josh@joshmatthews.net>
This commit is contained in:
Josh Matthews 2025-05-07 00:00:12 -04:00 committed by GitHub
parent e9f364ef51
commit ba8f923201
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
19 changed files with 135 additions and 49 deletions

View file

@ -35,7 +35,7 @@ pub enum UrlError {
}
#[derive(Clone, Deserialize, Eq, Hash, MallocSizeOf, Ord, PartialEq, PartialOrd, Serialize)]
pub struct ServoUrl(#[ignore_malloc_size_of = "Arc"] Arc<Url>);
pub struct ServoUrl(#[conditional_malloc_size_of] Arc<Url>);
impl ServoUrl {
pub fn from_url(url: Url) -> Self {