Analysis has marked all values indicating from which fields they came. Thus, to specialize methods on inlined fields, we use the Concert cloning mechanism (Section 3.2.2) to separate method contours that come from differing fields. Thus, we get one clone of each method for each inlined field on which it could be called. This requires just checking whether, for two given contours, the field from which ``self'' could have originated is the same. The cloning is illustrated in Figure 10
Figure 10: Object Inlining Code Cloning
Similarly, we clone classes to handle polymorphic containers. Suppose that a polymorphic field is inlinable according to our analysis; the type analysis (See Section 3.2.1) creates object contours for each type of the polymorphic field (See Figure 7). To inline fields of multiple types, we must have distinct container classes, and so cloning splits object contours corresponding to different types of inlinable fields into different classes.