auto merge of #1305 : pradeep90/servo/rule-hash-optimize, r=kmcallister

Changing as per comment in #1274
This commit is contained in:
bors-servo 2013-11-25 13:55:12 -08:00
commit bf146fb8c4

View file

@ -293,7 +293,6 @@ impl Stylist {
&self.user_rule_map.important, &self.user_rule_map.important,
&self.ua_rule_map.important]; &self.ua_rule_map.important];
// TODO: Make this a stack-allocated vector
let mut matching_rules_list: [~[Rule], ..6] = [~[], ~[], ~[], ~[], ~[], ~[]]; let mut matching_rules_list: [~[Rule], ..6] = [~[], ~[], ~[], ~[], ~[], ~[]];
for (i, rule_map) in rule_map_list.iter().enumerate() { for (i, rule_map) in rule_map_list.iter().enumerate() {
rule_map.get_all_matching_rules(element, pseudo_element, matching_rules_list, i); rule_map.get_all_matching_rules(element, pseudo_element, matching_rules_list, i);
@ -301,14 +300,8 @@ impl Stylist {
// Keeping this as a separate step because we will need it for further // Keeping this as a separate step because we will need it for further
// optimizations regarding grouping of Rules having the same Selector. // optimizations regarding grouping of Rules having the same Selector.
let mut declarations_list = ~[]; let declarations_list: ~[~[Arc<~[PropertyDeclaration]>]] = matching_rules_list.iter().map(
for rules in matching_rules_list.iter() { |rules| rules.iter().map(|r| r.declarations.clone()).collect()).collect();
let mut curr_declarations = ~[];
for rule in rules.iter() {
curr_declarations.push(rule.declarations.clone());
}
declarations_list.push(curr_declarations);
}
let mut applicable_declarations = ~[]; let mut applicable_declarations = ~[];
applicable_declarations.push_all_move(declarations_list.slice(0, 3).concat_vec()); applicable_declarations.push_all_move(declarations_list.slice(0, 3).concat_vec());