mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2025-10-26 18:09:45 +00:00
Initializing the variable this way fixes a kernel panic in Clang where the object was zero-initialized, so the `m_in_scheduler` contained the wrong value. GCC got it right, but we're better off making this change, as leaving uninitialized fields in constant-initialized objects can cause other weird situations like this. Also, initializing only a single field to a non-zero value isn't worth the cost of no longer fitting in `.bss`. Another two variables suffer from the same problem, even though their values are supposed to be zero. Removing these causes the `_GLOBAL_sub_I_` function to no longer be generated and the (not handled) `.init_array` section to be omitted. |
||
|---|---|---|
| .. | ||
| common | ||
| i386 | ||
| x86_64 | ||
| ASM_wrapper.h | ||
| CPU.h | ||
| CPUID.h | ||
| DescriptorTable.h | ||
| InterruptDisabler.h | ||
| Interrupts.h | ||
| ISRStubs.h | ||
| MSR.h | ||
| PageDirectory.h | ||
| PageFault.h | ||
| Processor.h | ||
| ProcessorInfo.h | ||
| RegisterState.h | ||
| SafeMem.h | ||
| ScopedCritical.h | ||
| SmapDisabler.h | ||
| TrapFrame.h | ||
| TSS.h | ||