mirror of
https://github.com/servo/servo.git
synced 2025-07-04 05:53:39 +01:00
Avoid debug serialization of PropertyDeclaration & co in release builds.
In total, this PR saves ~60k. The conditional compilation on the _Debug FFI function eliminates one of the ToCss variants, eliminating 54.4k, as well as a bunch of other <1k functions. Removing the public trait implementation of Debug for the font metrics provider eliminates the last Debug impl from stylo. MozReview-Commit-ID: nIfQ3sy4OW
This commit is contained in:
parent
2ff3e119fa
commit
9a8821a1b0
2 changed files with 8 additions and 2 deletions
|
@ -12,7 +12,6 @@ use context::SharedStyleContext;
|
|||
use logical_geometry::WritingMode;
|
||||
use media_queries::Device;
|
||||
use properties::style_structs::Font;
|
||||
use std::fmt;
|
||||
|
||||
/// Represents the font metrics that style needs from a font to compute the
|
||||
/// value of certain CSS units like `ex`.
|
||||
|
@ -35,7 +34,7 @@ pub enum FontMetricsQueryResult {
|
|||
}
|
||||
|
||||
/// A trait used to represent something capable of providing us font metrics.
|
||||
pub trait FontMetricsProvider: fmt::Debug {
|
||||
pub trait FontMetricsProvider {
|
||||
/// Obtain the metrics for given font family.
|
||||
///
|
||||
/// TODO: We could make this take the full list, I guess, and save a few
|
||||
|
|
|
@ -1438,6 +1438,7 @@ macro_rules! impl_basic_rule_funcs_without_getter {
|
|||
debug: $debug:ident,
|
||||
to_css: $to_css:ident,
|
||||
} => {
|
||||
#[cfg(debug_assertions)]
|
||||
#[no_mangle]
|
||||
pub extern "C" fn $debug(rule: &$raw_type, result: *mut nsACString) {
|
||||
read_locked_arc(rule, |rule: &$rule_type| {
|
||||
|
@ -1445,6 +1446,12 @@ macro_rules! impl_basic_rule_funcs_without_getter {
|
|||
})
|
||||
}
|
||||
|
||||
#[cfg(not(debug_assertions))]
|
||||
#[no_mangle]
|
||||
pub extern "C" fn $debug(_: &$raw_type, _: *mut nsACString) {
|
||||
unreachable!()
|
||||
}
|
||||
|
||||
#[no_mangle]
|
||||
pub extern "C" fn $to_css(rule: &$raw_type, result: *mut nsAString) {
|
||||
let global_style_data = &*GLOBAL_STYLE_DATA;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue