layout: Promote absolute positioning, floatedness, and clearance into

flags to avoid virtual calls.

These were showing up really high in the maze solver profile.
This commit is contained in:
Patrick Walton 2014-10-28 15:38:18 -07:00
parent c20bb66aef
commit 587cf98209
7 changed files with 156 additions and 133 deletions

View file

@ -27,7 +27,7 @@ use servo_util::geometry::Au;
use std::cmp::{max, min};
use std::fmt;
use style::CSSFloat;
use style::computed_values::{clear, float, table_layout};
use style::computed_values::table_layout;
#[deriving(Encodable)]
pub enum TableLayout {
@ -235,14 +235,6 @@ impl Flow for TableWrapperFlow {
&mut self.block_flow
}
fn float_clearance(&self) -> clear::T {
self.block_flow.float_clearance()
}
fn float_kind(&self) -> float::T {
self.block_flow.float_kind()
}
fn bubble_inline_sizes(&mut self) {
// Get the column inline-sizes info from the table flow.
for kid in self.block_flow.base.child_iter() {