mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2026-06-27 19:51:03 +00:00
Convert the inline-cache fast paths for property load/store to named temps. Both handlers carry a substantial amount of state across the ic-hit check (the boxed base value, its tag, the unboxed Object*, the shape, the PLC pointer, the cached shape and prototype, the property offset, the current and cached dictionary generations, the named-properties pointer, and the loaded value), so giving each piece an explicit name removes a real readability burden. The IC-miss path uses the new 3-operand call_interp form. Notably, PutById's old code carried a "save property offset in t4 before load_operand clobbers t0 (rax)" maneuver -- that is exactly the kind of cross-cut the allocator handles automatically once the offset is named. The migrated handler just keeps using `prop_offset` across the load_operand and the store, no scratch shuffle needed. |
||
|---|---|---|
| .. | ||
| AsmInterpreter | ||
| BasicBlock.cpp | ||
| BasicBlock.h | ||
| BuiltinAbstractOperationsEnabled.h | ||
| Builtins.h | ||
| Bytecode.def | ||
| ClassBlueprint.h | ||
| Debug.h | ||
| Executable.cpp | ||
| Executable.h | ||
| FormatOperand.h | ||
| IdentifierTable.cpp | ||
| IdentifierTable.h | ||
| Instruction.cpp | ||
| Instruction.h | ||
| Interpreter.cpp | ||
| Label.cpp | ||
| Label.h | ||
| Operand.h | ||
| PropertyAccess.h | ||
| PropertyKeyTable.cpp | ||
| PropertyKeyTable.h | ||
| PropertyNameIterator.cpp | ||
| PropertyNameIterator.h | ||
| PutKind.h | ||
| RegexTable.cpp | ||
| RegexTable.h | ||
| Register.h | ||
| StringTable.cpp | ||
| StringTable.h | ||