Commit graph

4860 commits

Author SHA1 Message Date
bors-servo
75acf1175a auto merge of #1566 : pcwalton/servo/fewer-allocations, r=SimonSapin
hash.

31% win on selector matching.

r? @larsbergstrom
2014-01-27 16:59:18 -08:00
bors-servo
d47df0812f auto merge of #1547 : deokjinkim/servo/fix_white_space, r=metajack
If html has empty line, it is not handled currently.
Because pending line is empty in such case, flushing current line doesn't care empty line.
For example, below html has two empty line(line 2 and line 4)
<div>
test1

test2

</div>

To handle empty line, added empty box to pending line.
2014-01-27 16:32:53 -08:00
bors-servo
e7aa20a36d auto merge of #1574 : pcwalton/servo/cheat-before-after, r=SimonSapin
125% win on selector matching (!)

r? @SimonSapin
2014-01-27 16:06:10 -08:00
Deokjin Kim
765e1f2a36 Fix white-space property(pre)
If html has empty line, it is not handled currently.
Because pending line is empty in such case, flushing current line doesn't care empty line.
For example, below html has two empty line(line 2 and line 4)
<div>
test1

test2

</div>

To handle empty line, added empty box to pending line.
2014-01-28 09:04:28 +09:00
Patrick Walton
c6fed026ac style: Stop allocating when lowercasing element names for lookup in the
hash.

31% win on selector matching.
2014-01-27 15:44:51 -08:00
Patrick Walton
8f2d83005b style: Short-circuit the selector matching process if the map is empty.
125% win on selector matching (!)
2014-01-27 15:34:14 -08:00
bors-servo
78e0545918 auto merge of #1571 : pcwalton/servo/combine-cascading, r=metajack
Speeds up the cascade by 3x.

r? @metajack
2014-01-27 15:10:15 -08:00
Patrick Walton
9c3af574e5 layout: Perform cascading in parallel.
Speeds up the cascade by 3x.
2014-01-27 14:41:52 -08:00
bors-servo
fa02b82b88 auto merge of #1570 : larsbergstrom/servo/reftest_better, r=metajack
Previously, small errors were very hard to see because they would only have a value that was off by a few points from solid white. Now, they will show up vibrantly!

I considered reconstructing the pixels and using either black/white or a scaling "red" but in practice this gives good results on a wide variety of errors and has the bonus that if you've got chroma-power you can tell if there's an R, G, or B error :-)

r? @metajack
2014-01-27 13:46:59 -08:00
Lars Bergstrom
cb31b3cf6c Change the values emitted for incorrect pixels to make small errors visible 2014-01-27 15:07:06 -06:00
bors-servo
ffa80ae46f auto merge of #1559 : pcwalton/servo/parallel-selector-matching, r=metajack
10% speedup over what we had before.

r? @metajack
2014-01-27 12:49:14 -08:00
Patrick Walton
cb2e225b14 layout: Switch parallel selector matching over to using work stealing.
10% speedup over what we had before.
2014-01-27 12:44:54 -08:00
bors-servo
d944567b9a auto merge of #1546 : ksh8281/servo/inline_add2, r=larsbergstrom
implement inline border.
it gives same result in "src/test/html/test_inline_border.html" with chrome,firefox

r? @pcwalton
2014-01-26 20:55:13 -08:00
patrick kim
aa57f82f71 disable ref test :( 2014-01-27 13:00:08 +09:00
patrick kim
b0d4093a86 add comment & add ref test 2014-01-27 12:45:23 +09:00
patrick kim
c2ced790ba implement inline border 2014-01-27 12:45:23 +09:00
bors-servo
882cc0bf69 auto merge of #1565 : larsbergstrom/servo/ref-tests-enable, r=pcwalton
Ref tests should now be stable enough to put them back in the list of checked tests that we run at checkin. This will at least ensure ACID1 no longer breaks.

I had to disable three tests that have regressed since ref tests first became unstable. I will open separate issues for each of them if we agree to land this PR.
2014-01-26 18:40:17 -08:00
Lars Bergstrom
9a74cadc02 Enable ref tests on darwin 2014-01-26 20:34:13 -06:00
Lars Bergstrom
a7fcbd9d60 Disable 3 broken ref tests so that we can start blocking on check-ref again 2014-01-26 20:29:45 -06:00
bors-servo
1d0de1682d auto merge of #1563 : pcwalton/servo/profile-cascade, r=larsbergstrom
It's slow.

r? @metajack
2014-01-26 17:13:06 -08:00
Patrick Walton
55ccfae1e8 layout: Profile the CSS cascade as well as selector matching.
It's slow.
2014-01-25 18:13:59 -08:00
bors-servo
edda06115a auto merge of #1561 : SimonSapin/servo/refactor-namespace, r=pcwalton
This builds on top of #1560 (… which I realize now may confuse Critic)

This refactors Namespace to reduce the overall amount of copying and conversion. In particular, it makes parsed selectors contain Namespace enums rather than strings.
2014-01-25 13:19:02 -08:00
bors-servo
98a4623e4a auto merge of #1560 : SimonSapin/servo/restore-1554, r=pcwalton
Lower-case attribute names when parsing selectors rather than when matching. This avoid one allocation in matching code.

Also do not lowercase names for *AttributeNS APIs. (Move lower-casing to callers.)
2014-01-25 12:49:04 -08:00
Simon Sapin
2782d1d07f Do not copy the result of get_link() 2014-01-25 12:23:11 -08:00
Simon Sapin
5ae7aad6e2 Make Namespace::to_str() return a string. 2014-01-25 12:23:11 -08:00
Simon Sapin
e9ece24de9 Convert to Namespace during CSS parsing rather than selector matching. 2014-01-25 12:23:11 -08:00
Simon Sapin
fdafc3701f Make get_attr() take a &Namespace rather than Option<~str> 2014-01-25 12:23:04 -08:00
Simon Sapin
624e2714d4 Move script::dom::namespace into util, in order to use it from style later. 2014-01-25 12:14:06 -08:00
Simon Sapin
ae0cbda327 Change Namespace::from_str to take &str, fix #1367 2014-01-25 11:50:06 -08:00
Simon Sapin
5b0768c4f6 Restore perf improvement from #1554
Lower-case attribute names when parsing selectors rather than when
matching. This avoid one allocation in matching code.
2014-01-25 11:45:41 -08:00
Simon Sapin
b8556afeeb Do not lowercase names for *AttributeNS APIs. (Move lower-casing to callers.) 2014-01-25 11:25:42 -08:00
bors-servo
c234132841 auto merge of #1557 : Ms2ger/servo/fix-attr, r=SimonSapin 2014-01-25 10:40:08 -08:00
Ms2ger
d6b5015d7a Revert PR #1554 because it's wrong. 2014-01-25 09:50:03 +01:00
bors-servo
5ca55bb996 auto merge of #1551 : pcwalton/servo/generic-parallel-layout, r=larsbergstrom
infrastructure.

The work queue accepts abstract generic "work units", which in this case
are layout operations. The same speedups have been observed.

r? @larsbergstrom
2014-01-24 20:51:59 -08:00
Patrick Walton
18a2050a64 layout: Port parallel layout over to a generic "work queue"
infrastructure.

The work queue accepts abstract generic "work units", which in this case
are layout operations. The same speedups have been observed.
2014-01-24 20:50:30 -08:00
bors-servo
bafb3e7e02 auto merge of #1555 : pcwalton/servo/faster-attribute-lookup, r=larsbergstrom
table.

40% improvement in selector matching performance on the rainbow page.

r? @larsbergstrom
2014-01-24 17:49:11 -08:00
bors-servo
86c29d253a auto merge of #1554 : pcwalton/servo/faster-attribute-comparison, r=SimonSapin
15% improvement in selector matching performance on the rainbow page.

r? @SimonSapin
2014-01-24 17:22:15 -08:00
Patrick Walton
984e6b853d style: Stop copying attribute names when looking them up in the hash
table.

40% improvement in selector matching performance on the rainbow page.
2014-01-24 17:22:05 -08:00
Patrick Walton
1b786fe414 script: Avoid an allocation when getting attribute data.
15% improvement in selector matching performance on the rainbow page.
2014-01-24 16:58:07 -08:00
bors-servo
6ee9f8a982 auto merge of #1552 : jdm/servo/movegen, r=larsbergstrom
The WebIDL move wasn't quite correct. Now the dependencies and output directory are all correct.
2014-01-24 16:50:41 -08:00
Josh Matthews
97d2ce98c4 Fix DOM binding generation to use proper output directory. 2014-01-24 15:40:19 -08:00
bors-servo
192097315a auto merge of #1550 : jdm/servo/logicalrange, r=metajack
...tor index failures.
2014-01-24 14:11:45 -08:00
Josh Matthews
2ee9d2be83 Use logical clump offset into newline position list. Fixes wikipedia vector index failures. 2014-01-24 14:02:13 -08:00
bors-servo
6e4d96a7f6 auto merge of #1540 : pcwalton/servo/destroy-flows, r=larsbergstrom
Fixes a crash on http://en.wikipedia.org/wiki/South_China_Sea

It plants a destructor bomb on flows so that this can't happen again.

r? @larsbergstrom
2014-01-24 10:41:25 -08:00
Patrick Walton
5cc744d25d layout: Destroy flows properly under display: none.
Fixes a crash on http://en.wikipedia.org/wiki/South_China_Sea

It plants a destructor bomb on flows so that this can't happen again.
2014-01-24 10:37:46 -08:00
bors-servo
9de5cc5197 auto merge of #1544 : larsbergstrom/servo/improve-reftesting, r=metajack
r? @metajack
2014-01-24 00:19:01 -08:00
bors-servo
4885c18dee auto merge of #1543 : metajack/servo/local-submodules, r=jdm
For some reason the webconvforge organization is the cause of many API
failures. They seem to be sporadic but no one has any idea why it
happens.
2014-01-23 17:28:33 -08:00
bors-servo
b28d08b4bc auto merge of #1529 : ibnc/servo/display_list_debug, r=metajack 2014-01-23 16:55:26 -08:00
bors-servo
a8d785cbbc auto merge of #1541 : teosz/servo/master, r=metajack 2014-01-23 16:31:22 -08:00
bors-servo
6edb293de0 auto merge of #1539 : aydinkim/servo/misc, r=metajack
fix android build error on certain environment
2014-01-23 16:03:48 -08:00