servo/components/script
Emilio Cobos Álvarez 3af774bd75
Rewrite the style sharing candidate cache.
The style candidate cache had regressed a few times (see #12534), and my
intuition is that being able to disable all style sharing with a single rule in
the page is really unfortunate.

This commit redesigns the style sharing cache in order to be a optimistic cache,
but then reject candidates if they match different sibling-affecting selectors
in the page, for example.

So far the numbers have improved, but not so much as I'd wanted (~10%/20% of
non-incremental restyling time in general). The current implementation is really
dumb though (we recompute and re-match a lot of stuff), so we should be able to
optimise it quite a bit.

I have different ideas for improving it (that may or may not work), apart of the
low-hanging fruit like don't re-matching candidates all the time but I have to
measure the real impact.

Also, I need to verify it against try.
2016-08-17 14:16:16 -07:00
..
docs
dom Native MSVC windows build, convert to cmake 2016-08-17 09:50:51 -04:00
parse script: Obtain referrer policy from header 2016-07-15 08:12:24 -07:00
task_source Implement file reading task source 2016-07-14 13:27:42 -04:00
bluetooth_blacklist.rs Add WebBluetooth Blacklist support 2016-05-31 17:05:45 +02:00
build.rs Native MSVC windows build, convert to cmake 2016-08-17 09:50:51 -04:00
Cargo.toml Rewrite the style sharing candidate cache. 2016-08-17 14:16:16 -07:00
clipboard_provider.rs Remove ConstellationChan. 2016-05-19 17:13:44 +02:00
CMakeLists.txt Native MSVC windows build, convert to cmake 2016-08-17 09:50:51 -04:00
devtools.rs Removed some sources of panic from script thread and devtools, using Option values instead to indicate when a pipeline context is missing where appropriate. Additionally, removed erroneous method get_browsing_context. 2016-07-25 22:28:04 -04:00
document_loader.rs Integrate service worker manager thread 2016-07-16 23:29:44 +05:30
layout_wrapper.rs Rewrite the style sharing candidate cache. 2016-08-17 14:16:16 -07:00
lib.rs Use impl Trait syntax for Node::child_elements 2016-08-13 22:38:02 +02:00
mem.rs Bump heapsize to 0.3 2016-02-13 11:13:19 +01:00
network_listener.rs Move boxing to runnable initialization 2016-07-13 11:10:23 -06:00
origin.rs Make script origins sendable and immutable. 2016-05-27 17:16:13 +02:00
script_runtime.rs Correct the call to JS_SetGCZeal. 2016-07-29 10:24:42 +02:00
script_thread.rs Update serde to 0.8 (fixes #12659) 2016-08-12 18:37:27 +02:00
serviceworker_manager.rs Make the service worker send custom response 2016-07-26 23:16:49 +05:30
textinput.rs Take selection direction into account when setting selection 2016-07-06 16:14:32 -06:00
timers.rs Auto merge of #11872 - eddyb:back-to-roots, r=Ms2ger 2016-07-04 11:03:35 -07:00
unpremultiplytable.rs
webdriver_handlers.rs Update serde to 0.8 (fixes #12659) 2016-08-12 18:37:27 +02:00