auto merge of #1602 : pcwalton/servo/more-inlines, r=jdm

9% improvement in style recalc on the rainbow page.

r? @jdm
This commit is contained in:
bors-servo 2014-02-18 14:08:12 -05:00
commit edd7e32fdb
3 changed files with 12 additions and 0 deletions

View file

@ -597,6 +597,7 @@ pub struct Reflector {
}
impl Reflector {
#[inline]
pub fn get_jsobject(&self) -> *JSObject {
self.object
}

View file

@ -212,6 +212,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);
@ -219,6 +220,7 @@ impl AbstractNode {
}
}
#[inline]
pub fn mut_node<'a>(&'a self) -> &'a mut Node {
unsafe {
let box_: *mut Box<Node> = cast::transmute(self.obj);
@ -226,14 +228,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
}
@ -320,6 +325,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
}

View file

@ -101,24 +101,29 @@ pub fn min(x: Au, y: Au) -> Au { if x < y { x } else { y } }
pub fn max(x: Au, y: Au) -> Au { if x > y { x } else { y } }
impl NumCast for Au {
#[inline]
fn from<T:ToPrimitive>(n: T) -> Option<Au> {
Some(Au(n.to_i32().unwrap()))
}
}
impl ToPrimitive for Au {
#[inline]
fn to_i64(&self) -> Option<i64> {
Some(**self as i64)
}
#[inline]
fn to_u64(&self) -> Option<u64> {
Some(**self as u64)
}
#[inline]
fn to_f32(&self) -> Option<f32> {
(**self).to_f32()
}
#[inline]
fn to_f64(&self) -> Option<f64> {
(**self).to_f64()
}