mirror of
https://github.com/servo/servo.git
synced 2025-08-05 21:50:18 +01:00
script: Inline some hot functions used in flow constructions.
9% improvement in style recalc on the rainbow page.
This commit is contained in:
parent
e2e848c6ad
commit
a0fbc04ba5
3 changed files with 12 additions and 0 deletions
|
@ -208,6 +208,7 @@ impl Clone for AbstractNode {
|
|||
}
|
||||
|
||||
impl AbstractNode {
|
||||
#[inline]
|
||||
pub fn node<'a>(&'a self) -> &'a Node {
|
||||
unsafe {
|
||||
let box_: *mut Box<Node> = cast::transmute(self.obj);
|
||||
|
@ -215,6 +216,7 @@ impl AbstractNode {
|
|||
}
|
||||
}
|
||||
|
||||
#[inline]
|
||||
pub fn mut_node<'a>(&'a self) -> &'a mut Node {
|
||||
unsafe {
|
||||
let box_: *mut Box<Node> = cast::transmute(self.obj);
|
||||
|
@ -222,14 +224,17 @@ impl AbstractNode {
|
|||
}
|
||||
}
|
||||
|
||||
#[inline]
|
||||
pub fn parent_node(&self) -> Option<AbstractNode> {
|
||||
self.node().parent_node
|
||||
}
|
||||
|
||||
#[inline]
|
||||
pub fn first_child(&self) -> Option<AbstractNode> {
|
||||
self.node().first_child
|
||||
}
|
||||
|
||||
#[inline]
|
||||
pub fn last_child(&self) -> Option<AbstractNode> {
|
||||
self.node().last_child
|
||||
}
|
||||
|
@ -316,6 +321,7 @@ impl<'a> AbstractNode {
|
|||
// Convenience accessors
|
||||
|
||||
/// Returns the type ID of this node. Fails if this node is borrowed mutably.
|
||||
#[inline]
|
||||
pub fn type_id(self) -> NodeTypeId {
|
||||
self.node().type_id
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue