1.1 --- a/docs/concepts.txt Sun May 24 00:21:41 2009 +0200
1.2 +++ b/docs/concepts.txt Sun May 24 02:16:33 2009 +0200
1.3 @@ -70,15 +70,18 @@
1.4 Contexts in Acquired Values
1.5 ---------------------------
1.6
1.7 -There are two classes of instructions which provide values:
1.8 +There are three classes of instructions which provide values:
1.9
1.10 Instruction Purpose Context Operations
1.11 ----------- ------- ------------------
1.12
1.13 - LoadConst Load class, function, Combine null context with
1.14 - module, constant loaded object
1.15 +1) LoadConst Load class, module, Use loaded object with itself
1.16 + constant as context
1.17
1.18 - LoadAddress* Load attribute from Preserve or override stored
1.19 +2) LoadFunction Load function Combine null context with
1.20 + loaded object
1.21 +
1.22 +3) LoadAddress* Load attribute from Preserve or override stored
1.23 LoadAttr* class, module, context (as described in
1.24 instance assignment.txt)
1.25
1.26 @@ -90,31 +93,34 @@
1.27 Contexts in Stored Values
1.28 -------------------------
1.29
1.30 -There is only one class of instruction for storing values:
1.31 +There are two classes of instruction for storing values:
1.32
1.33 - Instruction Purpose Context Operations
1.34 - ----------- ------- ------------------
1.35 + Instruction Purpose Context Operations
1.36 + ----------- ------- ------------------
1.37
1.38 - StoreAddress Store attribute in a Preserve context; note that no
1.39 - known object test for class attribute
1.40 - assignment should be necessary
1.41 - since this instruction should only
1.42 - be generated for module globals
1.43 +1) StoreAddress Store attribute in a Preserve context; note that no
1.44 + known object test for class attribute
1.45 + assignment should be necessary
1.46 + since this instruction should only
1.47 + be generated for module globals
1.48
1.49 - StoreAttr Store attribute in an Preserve context; note that no
1.50 - instance test for class attribute
1.51 - assignment should be necessary
1.52 - since this instruction should only
1.53 - be generated for self accesses
1.54 + StoreAttr Store attribute in an Preserve context; note that no
1.55 + instance test for class attribute
1.56 + assignment should be necessary
1.57 + since this instruction should only
1.58 + be generated for self accesses
1.59
1.60 - StoreAttrIndex Store attribute in an Preserve context; since the index
1.61 - unknown object lookup could yield a class
1.62 - attribute, a test of the nature of
1.63 - the nature of the structure is
1.64 - necessary in order to prevent
1.65 - assignments to classes
1.66 + StoreAttrIndex Store attribute in an Preserve context; since the index
1.67 + unknown object lookup could yield a class
1.68 + attribute, a test of the nature of
1.69 + the nature of the structure is
1.70 + necessary in order to prevent
1.71 + assignments to classes
1.72
1.73 -Note that contexts are never changed in the stored value: they are preserved.
1.74 +2) StoreAddressContext Store attribute in a Override context if appropriate;
1.75 + known object if the value has a null context,
1.76 + permit the target to take
1.77 + ownership of the value
1.78
1.79 See assignment.txt for details.
1.80