ladybird/Libraries/LibWeb/HTML/Scripting
Andreas Kling b5babda288 LibWeb: Cache UniversalGlobalScopeMixin pointer on ESO
Avoid expensive cross-hierarchy dynamic_cast from JS::Object to
UniversalGlobalScopeMixin on every microtask checkpoint.

Since UniversalGlobalScopeMixin is not in the JS::Object
inheritance chain, as<UniversalGlobalScopeMixin>(JS::Object&)
falls through to dynamic_cast, which is very costly. Profiling
showed this taking ~14% of total CPU time.

Add EnvironmentSettingsObject::universal_global_scope() backed
by a pointer cached eagerly during initialization.
2026-03-24 08:28:47 +01:00
..
Agent.cpp LibWeb: Split out SimilarOriginWindowAgent from HTML::Agent 2025-04-25 14:07:51 +02:00
Agent.h LibJS: Switch Agent [[CanBlock]] slot to a enum member 2025-04-25 14:07:51 +02:00
ClassicScript.cpp LibJS: Generate FFI header using cbindgen instead of hand-rolling 2026-03-17 20:49:50 -05:00
ClassicScript.h LibJS: Generate FFI header using cbindgen instead of hand-rolling 2026-03-17 20:49:50 -05:00
Environments.cpp LibWeb: Cache UniversalGlobalScopeMixin pointer on ESO 2026-03-24 08:28:47 +01:00
Environments.h LibWeb: Cache UniversalGlobalScopeMixin pointer on ESO 2026-03-24 08:28:47 +01:00
EnvironmentSettingsSnapshot.cpp LibWeb: Remove API URL character encoding 2026-01-13 13:51:32 +00:00
EnvironmentSettingsSnapshot.h LibWeb: Remove API URL character encoding 2026-01-13 13:51:32 +00:00
ExceptionReporter.cpp LibJS+LibWeb: Port interned bytecode strings to UTF-16 2025-08-14 10:27:08 +02:00
ExceptionReporter.h LibWeb: Enable EXPLICIT_SYMBOL_EXPORT 2025-08-23 16:04:36 -06:00
Fetching.cpp LibWeb: Cache UniversalGlobalScopeMixin pointer on ESO 2026-03-24 08:28:47 +01:00
Fetching.h LibWeb: Remove exception throwing from Fetch 2025-11-07 04:08:30 +01:00
Fetching.idl
ImportMap.cpp LibWeb: Reduce recompilation impact of DOM/Document.h 2026-02-11 20:02:28 +01:00
ImportMap.h LibJS: Use FlyString in PropertyKey instead of DeprecatedFlyString 2025-03-24 22:27:17 +00:00
ImportMapParseResult.cpp LibWeb: Visit ImportMapParseResult in HTMLScriptElement::visit_edges 2026-02-21 11:14:45 -05:00
ImportMapParseResult.h LibWeb: Visit ImportMapParseResult in HTMLScriptElement::visit_edges 2026-02-21 11:14:45 -05:00
ModuleMap.cpp LibGC+Everywhere: Factor out a LibGC from LibJS 2024-11-15 14:49:20 +01:00
ModuleMap.h LibWeb: Enable EXPLICIT_SYMBOL_EXPORT 2025-08-23 16:04:36 -06:00
ModuleScript.cpp LibJS: Generate FFI header using cbindgen instead of hand-rolling 2026-03-17 20:49:50 -05:00
ModuleScript.h LibJS: Generate FFI header using cbindgen instead of hand-rolling 2026-03-17 20:49:50 -05:00
Script.cpp LibWeb: Make base URL of HTML::Script Optional 2025-02-19 08:01:35 -05:00
Script.h LibWeb: Enable EXPLICIT_SYMBOL_EXPORT 2025-08-23 16:04:36 -06:00
SerializedEnvironmentSettingsObject.cpp LibWeb/HTML: Track secure context as part of Serialized{Document,Worker} 2026-02-26 07:22:50 +01:00
SerializedEnvironmentSettingsObject.h LibWeb/HTML: Track secure context as part of Serialized{Document,Worker} 2026-02-26 07:22:50 +01:00
SimilarOriginWindowAgent.cpp LibWeb: Change agent's signal_slots into a GC::RootVector 2025-11-24 12:45:22 +00:00
SimilarOriginWindowAgent.h LibWeb: Use weak references in the custom elements reaction stack 2025-12-25 20:21:37 +01:00
SyntheticRealmSettings.cpp LibWeb: Remove underlying realm from SyntheticRealmSettings 2024-11-24 15:29:47 -07:00
SyntheticRealmSettings.h LibWeb: Remove underlying realm from SyntheticRealmSettings 2024-11-24 15:29:47 -07:00
TemporaryExecutionContext.cpp
TemporaryExecutionContext.h LibWeb: Enable EXPLICIT_SYMBOL_EXPORT 2025-08-23 16:04:36 -06:00
WindowEnvironmentSettingsObject.cpp LibWeb: Remove API URL character encoding 2026-01-13 13:51:32 +00:00
WindowEnvironmentSettingsObject.h LibWeb: Remove API URL character encoding 2026-01-13 13:51:32 +00:00
WorkerAgent.cpp LibWeb/HTML: Hook up a WorkerAgent for web workers 2025-04-25 14:07:51 +02:00
WorkerAgent.h LibWeb/HTML: Hook up a WorkerAgent for web workers 2025-04-25 14:07:51 +02:00
WorkerEnvironmentSettingsObject.cpp LibWeb: Use enum instead of bool for CanUseCrossOriginIsolatedAPIs 2026-02-13 16:47:42 +00:00
WorkerEnvironmentSettingsObject.h LibWeb: Remove Document.h include from DOMParser.h, DOMImplementation.h 2026-02-08 18:51:13 +01:00