A.3 Unsupported Python constructs

The following constructs are not supported by Psyco. It does not mean that code containing them will fail; it merely means that any function using them cannot be compiled, and will thus be entierely run by the standard interpreter.

Log files report unsupported constructs by giving the corresponding bytecode instruction number, which you can look up in the following table:

Bytecode  Instruction name  Appears in 
82 LOAD_LOCALS class definitions
84 IMPORT_STAR from xx import *
85 EXEC_STMT exec xx
86 YIELD_VALUE generators
90 STORE_NAME (1)
91 DELETE_NAME (1)
101 LOAD_NAME (1)
134 MAKE_CLOSURE nested scopes
135 LOAD_CLOSURE nested scopes
136 LOAD_DEREF nested scopes
137 STORE_DEREF nested scopes

(1): these appear outside functions, like at the module top-level or in the body defining a class. They can sometimes appear in a function too, e.g. when the function uses from xx import * or exec xx.



Footnotes

... classA.1
The methods themselves are fine; this only concerns the code that runs in order to define the class (generally only a bunch of def statements)