A system for generation and execution of machine code for property accesses in a dynamically typed programming language, the system comprising: at least one processor; a memory in operable communication with the processor; and the following: (a) a direct access code generator which emits a direct access code for a property access to access a property of an object, the object having a type, the direct access code being emitted when the following conditions are satisfied: types identified in a polymorphic inline cache (232, 246) corresponding to the property access are equivalent, and a type set retrieved from the polymorphic inline cache (232, 246) matches a type set that is associated with the object's type in a compiler value table, wherein the code generator is located within a compiler; (b) a generated direct access code for a property access to access a property of an object, the property access belonging to a sequence of property accesses, the object having a type and a memory region, and wherein the direct access code upon execution accesses a value of the property located at a hard-coded offset in the object's memory region, and accesses the value without requiring a further type check after a comparison type check determines that the object's type matches an entry in an equivalent type cache which is associated with the sequence of property accesses, wherein types in an equivalent type cache are already known to be equivalent; and (c) a property equivalence record which includes one entry for each property access in a sequence of property accesses that is guarded by a single type check, wherein a property equivalence record is structurally part of an equivalent type cache or is otherwise associated with an equivalent type cache; wherein the system includes an application that is adapted to execute the generated direct access code. at least one processor; a memory in operable communication with the processor; and the following: (a) a direct access code generator which emits a direct access code for a property access to access a property of an object, the object having a type, the direct access code being emitted when the following conditions are satisfied: types identified in a polymorphic inline cache (232, 246) corresponding to the property access are equivalent, and a type set retrieved from the polymorphic inline cache (232, 246) matches a type set that is associated with the object's type in a compiler value table, wherein the code generator is located within a compiler; (b) a generated direct access code for a property access to access a property of an object, the property access belonging to a sequence of property accesses, the object having a type and a memory region, and wherein the direct access code upon execution accesses a value of the property located at a hard-coded offset in the object's memory region, and accesses the value without requiring a further type check after a comparison type check determines that the object's type matches an entry in an equivalent type cache which is associated with the sequence of property accesses, wherein types in an equivalent type cache are already known to be equivalent; and (c) a property equivalence record which includes one entry for each property access in a sequence of property accesses that is guarded by a single type check, wherein a property equivalence record is structurally part of an equivalent type cache or is otherwise associated with an equivalent type cache; (a) a direct access code generator which emits a direct access code for a property access to access a property of an object, the object having a type, the direct access code being emitted when the following conditions are satisfied: types identified in a polymorphic inline cache (232, 246) corresponding to the property access are equivalent, and a type set retrieved from the polymorphic inline cache (232, 246) matches a type set that is associated with the object's type in a compiler value table, wherein the code generator is located within a compiler; (b) a generated direct access code for a property access to access a property of an object, the property access belonging to a sequence of property accesses, the object having a type and a memory region, and wherein the direct access code upon execution accesses a value of the property located at a hard-coded offset in the object's memory region, and accesses the value without requiring a further type check after a comparison type check determines that the object's type matches an entry in an equivalent type cache which is associated with the sequence of property accesses, wherein types in an equivalent type cache are already known to be equivalent; and (c) a property equivalence record which includes one entry for each property access in a sequence of property accesses that is guarded by a single type check, wherein a property equivalence record is structurally part of an equivalent type cache or is otherwise associated with an equivalent type cache; wherein the system includes an application that is adapted to execute the generated direct access code.