mirror of
https://github.com/servo/servo.git
synced 2025-06-17 12:54:28 +00:00
This patch makes the MallocSizeOf stuff in Stylo work more like the HeapSizeOf stuff already in Servo, except better. In particular, it adds deriving support for MallocSizeOf, which will make it easier to improve coverage. The patch does the following. - Combines servo/components/style/stylesheets/memory.rs and the heapsize crate into a new crate, malloc_size_of. - Forks the heapsize_derive crate, calling it malloc_size_of, so that MallocSizeOf can be derived. - Both the new crates have MIT/Apache licenses, like heapsize, in case they are incorporated into heapsize in the future. - Renames the methods within MallocSizeOf and the related traits so they are more concise. - Removes MallocSizeOfWithGuard. - Adds `derive(MallocSizeOf)` to a lot of types, in some cases replacing an equivalent or almost-equivalent hand-written implementation. - Adds stuff so that Rc/Arc can be handled properly.
34 lines
988 B
Rust
34 lines
988 B
Rust
/* This Source Code Form is subject to the terms of the Mozilla Public
|
|
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
|
|
|
// Make |cargo bench| work.
|
|
#![cfg_attr(feature = "unstable", feature(test))]
|
|
|
|
#[macro_use] extern crate bitflags;
|
|
#[macro_use] extern crate cssparser;
|
|
#[macro_use] extern crate log;
|
|
#[macro_use] extern crate matches;
|
|
extern crate fnv;
|
|
extern crate malloc_size_of;
|
|
#[macro_use] extern crate malloc_size_of_derive;
|
|
extern crate phf;
|
|
extern crate precomputed_hash;
|
|
#[cfg(test)] #[macro_use] extern crate size_of_test;
|
|
extern crate servo_arc;
|
|
extern crate smallvec;
|
|
|
|
pub mod attr;
|
|
pub mod bloom;
|
|
mod builder;
|
|
pub mod context;
|
|
pub mod matching;
|
|
pub mod parser;
|
|
#[cfg(test)] mod size_of_tests;
|
|
#[cfg(any(test, feature = "gecko_like_types"))] pub mod gecko_like_types;
|
|
pub mod sink;
|
|
mod tree;
|
|
pub mod visitor;
|
|
|
|
pub use parser::{SelectorImpl, Parser, SelectorList};
|
|
pub use tree::Element;
|