1. A method for using map objects to access properties of an object in a dynamic object-oriented programming language, wherein dynamic object-oriented programming languages allow additional properties to be defined for objects during execution, comprising: receiving an object of a given object type, wherein the object is associated with, a memory region and a given map object in a set of map objects associated with the given object type; wherein the given map object describes how properties of the object are mapped to fields in the memory region, and wherein the set of map objects are linked hierarchically using a set of map transitions based on the order in which properties are defined for one or more objects of the given object type; receiving a request to access a property for the object; determining, by a computing device, whether the given map object includes a mapping for the property; if the given map object includes a mapping for the property, accessing, by the computing device, a field associated with the property using the mapping; if the given map object does not include the mapping for the property, determining, by the computing device, whether a direct descendant of the given map object includes the mapping for the property; if a direct descendant of the given map object includes the mapping for the property: determining, by the computing device, a descendant map object for the given map object that maps the property to a new field in the memory region; wherein the descendant map object is the direct descendant of the given map object which includes substantially the same field mappings as the given map object, and wherein an additional field mapping for the property is added to the field mappings that are defined for the given map object; updating, by the computing device, the object to be associated with the descendant map object; and accessing, by the computing device, the new field associated with the property using the mapping in the descendant map object; and if no direct descendant of the given map object includes the mapping for the property: allocating, by the computing device, a new map object that defines a new field in the memory region for the property in addition to the fields defined for the properties of the given map object; creating, by the computing device, a new map transition that adds the new map object to the hierarchical set of map objects as a direct descendant of the given map object; and updating, by the computing device, the object to be associated with the new map object.