Tag
hidden-classes
- May 12, 2026 Hidden Classes and Inline Caches in Dynamic Object Models How a runtime gives dictionary-shaped objects a fixed layout, why each property access site remembers its last hit, and when the cache is invalidated. programming languages
- Feb 20, 2026 The Dictionary Object Model and the Cost of a Name Lookup How a dynamically typed object resolves a property name through a per-object table, what a single access costs in instructions and bytes, and which conditions must hold before the lookup can become a fixed offset. language runtimes
- Sep 11, 2025 Hidden Classes and the Transition Tree Behind Property Writes How a runtime derives a shared layout descriptor from the sequence of property additions, why the order of those additions decides which descriptor an object ends up with, and what a transition edge has to store. language runtimes
- Feb 5, 2025 Monomorphic Inline Caches and the Guard That Makes Them Work How a single cached layout and offset turn a dynamic property access into a compare and a load, what the guard must verify beyond layout identity, and why one shape is the case worth optimizing hardest. language runtimes
- Dec 26, 2023 Polymorphic and Megamorphic Inline Caches What a cache does when a second and then a fourth layout arrives at the same site, how the compare chain and the hash stub differ, and where the threshold between them sits. language runtimes
- Dec 4, 2023 Shape Identity, Interning, and Structural Equality Why two layouts with the same property names and offsets may still need to be distinct, when an engine may safely merge them, and how the identity comparison in a guard depends on that decision. language runtimes
- Oct 4, 2023 Object Shapes, Inline Caches, and the Cost of a Polymorphic Site Why property access is fast when objects share a hidden class, how shapes transition, and what turns an inline cache from a lookup into a hash probe. web platform
- May 14, 2023 Property Attributes, Accessors, and the Demotion to Dictionary Mode Why a plain field and an accessor cannot share one layout slot, how attribute bits and non-extensibility force a representation change, and why that change is one-way in practice. language runtimes