layout: Make incremental reflow more fine-grained by introducing "reflow

out-of-flow" and "reconstruct flow" damage bits.

This is needed for good performance on the maze solver.
This commit is contained in:
Patrick Walton 2014-10-30 13:27:35 -07:00
parent 7712052e13
commit 08fc7c2795
20 changed files with 644 additions and 403 deletions

View file

@ -42,6 +42,9 @@ pub struct PrivateLayoutData {
/// Information needed during parallel traversals.
pub parallel: DomParallelInfo,
/// Various flags.
pub flags: LayoutDataFlags,
}
impl PrivateLayoutData {
@ -55,10 +58,18 @@ impl PrivateLayoutData {
before_flow_construction_result: NoConstructionResult,
after_flow_construction_result: NoConstructionResult,
parallel: DomParallelInfo::new(),
flags: LayoutDataFlags::empty(),
}
}
}
bitflags! {
flags LayoutDataFlags: u8 {
#[doc="Whether a flow has been newly constructed."]
static HasNewlyConstructedFlow = 0x01
}
}
pub struct LayoutDataWrapper {
pub chan: Option<LayoutChan>,
pub shared_data: SharedLayoutData,