1.1 --- a/README.txt Wed Feb 27 23:17:19 2008 +0100
1.2 +++ b/README.txt Tue Mar 04 00:41:53 2008 +0100
1.3 @@ -61,7 +61,7 @@
1.4 Instance-originating Preserved Methods retain their original context
1.5 attribute
1.6
1.7 -There is some scope for simplifying the above, to the detriment of Python
1.8 +There may be some scope for simplifying the above, to the detriment of Python
1.9 compatibility, since the unbound vs. bound methods situation can be confusing.
1.10
1.11 Objects
1.12 @@ -165,7 +165,25 @@
1.13 Attribute Operations
1.14 --------------------
1.15
1.16 -Attribute access needs to go through the attribute lookup table.
1.17 +Attribute access needs to go through the attribute lookup table. Some
1.18 +optimisations are possible and are described in the appropriate section.
1.19 +
1.20 +One important aspect of attribute access is the appropriate setting of the
1.21 +context in the acquired attribute value. From the table describing the
1.22 +acquisition of values, it is clear that the principal exception is that where
1.23 +a class-originating attribute is accessed on an instance. Consequently, the
1.24 +following algorithm could be employed once an attribute has been located:
1.25 +
1.26 + 1. If the attribute's context is a special value, indicating that it should
1.27 + be replaced upon instance access, then proceed to the next step;
1.28 + otherwise, acquire both the context and the object as they are.
1.29 +
1.30 + 2. If the accessor is an instance, use that as the value's context, acquiring
1.31 + only the object from the attribute.
1.32 +
1.33 +Where accesses can be determined ahead of time (as discussed in the
1.34 +optimisations section), the above algorithm may not necessarily be employed in
1.35 +the generated code for some accesses.
1.36
1.37 Instruction Evaluation Model
1.38 ============================