1.1 --- a/docs/optimisations.txt Sun Dec 08 18:04:32 2013 +0100
1.2 +++ b/docs/optimisations.txt Sun Dec 08 18:07:34 2013 +0100
1.3 @@ -262,51 +262,3 @@
1.4 Where attributes may be used in a program but never accessed via the object
1.5 table-dependent instructions, such attributes could be omitted from the object
1.6 table.
1.7 -
1.8 -Implemented Optimisation Types
1.9 -==============================
1.10 -
1.11 -Optimisation Prerequisites and Effect
1.12 ------------- ------------------------
1.13 -
1.14 -constant_storage value instruction references a constant;
1.15 -(guidance) storage instruction references a constant;
1.16 - | indicate whether both instructions satisfy the
1.17 - | preconditions and should be removed/omitted
1.18 -
1.19 -constant_accessor value instruction references a constant;
1.20 -(guidance) | target name provided (for use in producing an
1.21 - | address access instruction)
1.22 -
1.23 -known_target value instruction references a constant;
1.24 -(guidance) | target and context are provided (no instructions
1.25 - | are removed)
1.26 -
1.27 -self_access value instruction references "self" in a method;
1.28 -(guidance) specified attribute name always has the same
1.29 - position;
1.30 - | indicate whether an appropriate instruction can
1.31 - | be generated for the access
1.32 -
1.33 -temp_storage value instruction is a simple input operation;
1.34 -(elimination) value instruction is the last instruction;
1.35 -(guidance) | remove the value instruction, provide the value
1.36 - | instruction in place of a temporary storage
1.37 - | reference
1.38 -
1.39 -no_operations input to the current instruction loads from the
1.40 -(guidance) destination of the current instruction;
1.41 - | indicate that the current instruction should be
1.42 - | omitted
1.43 -
1.44 -unused_results value instruction is a simple input operation;
1.45 -(elimination) value instruction is the final instruction of a
1.46 - discarded expression;
1.47 - | remove the value instruction
1.48 -
1.49 -unused_objects attribute is defined using a name which is not
1.50 -(inspection) used in an active region of the program or is
1.51 - defined within a class which is not used by
1.52 - the program, object is unambiguously
1.53 - referenced by such attributes
1.54 - | remove such attributes and objects