2018-06-24 | Paul Boddie | raw annotate files changeset graph | Changed target handling in the invocation code to eliminate superfluous temporary storage for targets and to treat context and target storage separately. Changed access instruction generation to expose the accessor test instructions more readily to the translator, with the error conversion being introduced by the translator. This allows the presence of accessor tests to be considered by the translator and for such tests to be included in generated code where they might otherwise be optimised away. Fixed detection of context temporary variables. Simplified the tracking of target and context temporary usage. |
1 # operation flags 2 OP_ASSIGN = 'OP_ASSIGN' 3 OP_DELETE = 'OP_DELETE' 4 OP_APPLY = 'OP_APPLY' 5 6 SC_LOCAL = 1 7 SC_GLOBAL_IMPLICIT = 2 8 SC_GLOBAL_EXPLICT = 3 9 SC_FREE = 4 10 SC_CELL = 5 11 SC_UNKNOWN = 6 12 13 CO_OPTIMIZED = 0x0001 14 CO_NEWLOCALS = 0x0002 15 CO_VARARGS = 0x0004 16 CO_VARKEYWORDS = 0x0008 17 CO_NESTED = 0x0010 18 CO_GENERATOR = 0x0020 19 CO_GENERATOR_ALLOWED = 0 20 CO_FUTURE_DIVISION = 0x2000 21 CO_FUTURE_ABSIMPORT = 0x4000 22 CO_FUTURE_WITH_STATEMENT = 0x8000 23 CO_FUTURE_PRINT_FUNCTION = 0x10000