mirror of
https://github.com/servo/servo.git
synced 2025-09-30 00:29:14 +01:00
script: Reduce ScriptThread TLS usage (#38875)
We store a pointer to the ScriptThread singleton for a thread in thread-local storage. While we don't have yet have profiles pointing to this TLS access as a hot spot, we can remove a potential performance footgun without a lot of effort by passing around small pieces of data that we otherwise need to fetch from the ScriptThread. Testing: Existing WPT is sufficient Fixes: part of #37969 --------- Signed-off-by: Josh Matthews <josh@joshmatthews.net>
This commit is contained in:
parent
d1da1a995c
commit
c97ec1b2fb
17 changed files with 129 additions and 68 deletions
|
@ -52,12 +52,14 @@ impl Tokenizer {
|
|||
fragment_context: Option<super::FragmentContext>,
|
||||
parsing_algorithm: ParsingAlgorithm,
|
||||
) -> Self {
|
||||
let custom_element_reaction_stack = document.custom_element_reaction_stack();
|
||||
let sink = Sink {
|
||||
base_url: url,
|
||||
document: Dom::from_ref(document),
|
||||
current_line: Cell::new(1),
|
||||
script: Default::default(),
|
||||
parsing_algorithm,
|
||||
custom_element_reaction_stack,
|
||||
};
|
||||
|
||||
let quirks_mode = match document.quirks_mode() {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue