1.1 --- a/docs/optimisations.txt Sun Sep 28 19:59:32 2008 +0200
1.2 +++ b/docs/optimisations.txt Sun Sep 28 21:27:01 2008 +0200
1.3 @@ -2,40 +2,44 @@
1.4 ------------ ------------------------
1.5
1.6 constant_storage value instruction references a constant;
1.7 -(elimination) storage instruction references a constant;
1.8 - remove both instructions (currently a single
1.9 - merged instruction)
1.10 +(guidance) storage instruction references a constant;
1.11 + | indicate whether both instructions satisfy the
1.12 + | preconditions and should be removed (although
1.13 + | this currently involves just a single merged
1.14 + | instruction)
1.15
1.16 constant_accessor value instruction references a constant;
1.17 -(guidance) target name provided (for use in producing an
1.18 - address access instruction)
1.19 +(guidance) | target name provided (for use in producing an
1.20 + | address access instruction)
1.21
1.22 known_target value instruction references a constant;
1.23 -(guidance) target and context are provided (no instructions
1.24 - removed)
1.25 +(guidance) | target and context are provided (no instructions
1.26 + | are removed)
1.27
1.28 self_access value instruction references "self" in a method;
1.29 (guidance) specified attribute name always has the same
1.30 position;
1.31 - appropriate instruction generated
1.32 + | indicate whether an appropriate instruction can
1.33 + | be generated for the access
1.34
1.35 temp_storage value instruction is a simple input operation;
1.36 (elimination) value instruction is the last instruction;
1.37 -(guidance) remove the value instruction, provide the value
1.38 - instruction in place of a temporary storage
1.39 - reference
1.40 +(guidance) | remove the value instruction, provide the value
1.41 + | instruction in place of a temporary storage
1.42 + | reference
1.43
1.44 load_operations value instruction is a simple input operation;
1.45 (merge) value instruction is the last instruction;
1.46 current instruction uses simple input;
1.47 - remove the value instruction, make the value
1.48 - instruction the input to the current instruction
1.49 + | remove the value instruction, make the value
1.50 + | instruction the input to the current instruction
1.51
1.52 no_operations input to the current instruction loads from the
1.53 -(elimination) destination of the current instruction;
1.54 - omit the current instruction
1.55 +(guidance) destination of the current instruction;
1.56 + | indicate that the current instruction should be
1.57 + | omitted
1.58
1.59 unused_results value instruction is a simple input operation;
1.60 (elimination) value instruction is the final instruction of a
1.61 discarded expression;
1.62 - remove the value instruction
1.63 + | remove the value instruction