Module Expr Str ImportFrom alias ImportFrom alias ImportFrom alias FunctionDef arguments args NameParam NameParam defaults vararg body Assign NameStore AttributeLoad NameLoad attr Assign NameStore Call AttributeLoad NameLoad attr Assign NameStore Call AttributeLoad NameLoad attr NameLoad Assign NameStore NameLoad If AttributeLoad AttributeLoad AttributeLoad AttributeLoad NameLoad attr attr attr attr body Assign NameStore Call AttributeLoad NameLoad attr NameLoad Assign NameStore AttributeLoad NameLoad attr orelse Assign NameStore Call AttributeLoad NameLoad attr NameLoad Str If CompareIs NameLoad Call NameLoad NameLoad body Assign NameStore Call AttributeLoad NameLoad attr NameLoad Assign NameStore NameLoad orelse Assign NameStore NameLoad If NameLoad body Assign NameStore Call AttributeLoad NameLoad attr NameLoad Assign NameStore Call AttributeLoad NameLoad attr NameLoad If CompareIs NameLoad NameLoad body Assign NameStore Call AttributeLoad NameLoad attr NameLoad NameLoad orelse If CompareIs Call NameLoad NameLoad AttributeLoad NameLoad attr body Assign NameStore Call AttributeLoad NameLoad attr NameLoad NameLoad If CompareIs NameLoad NameLoad body Expr Call AttributeLoad NameLoad attr NameLoad Expr Call AttributeLoad NameLoad attr NameLoad Return If CompareIs NameLoad NameLoad body Assign NameStore Call AttributeLoad NameLoad attr NameLoad NameLoad Expr Call AttributeLoad NameLoad attr NameLoad Expr Call AttributeLoad NameLoad attr NameLoad decorator_list FunctionDef arguments args NameParam NameParam defaults vararg body Assign NameStore Call AttributeLoad NameLoad attr NameLoad Assign NameStore Call AttributeLoad NameLoad attr BinOpAdd NameLoad Num Assign NameStore BinOpAdd NameLoad CompareIsNot NameLoad NameLoad TryFinally body Assign NameStore Call AttributeLoad AttributeLoad NameLoad attr attr NameLoad NameLoad NameLoad Expr Call AttributeLoad NameLoad attr Str NameLoad NameLoad keyword NameLoad finalbody Expr Call AttributeLoad NameLoad attr BinOpAdd NameLoad Num Expr Call AttributeLoad NameLoad attr NameLoad decorator_list FunctionDef arguments args NameParam NameParam NameParam defaults vararg body Expr Str Assign NameStore Call AttributeLoad NameLoad attr NameLoad Assign NameStore Call AttributeLoad NameLoad attr NameLoad Str If CompareIs NameLoad Call NameLoad NameLoad body Assign NameStore Call AttributeLoad NameLoad attr NameLoad NameLoad If CompareIs Call NameLoad NameLoad AttributeLoad NameLoad attr body Assign NameStore Call AttributeLoad NameLoad attr NameLoad NameLoad If CompareIs NameLoad NameLoad body Return Call AttributeLoad NameLoad attr NameLoad NameLoad NameLoad Assign NameStore Call AttributeLoad NameLoad attr NameLoad NameLoad Return Call AttributeLoad NameLoad attr NameLoad NameLoad decorator_list
N/A N/A 
Two bytecodes to speed up method calls.  Here is how a method call looks
like: (on the left, without the new bytecodes; on the right, with them)

    <push self>                    <push self>
    LOAD_ATTR       name           LOOKUP_METHOD   name
    <push arg 0>                   <push arg 0>
    ...                            ...
    <push arg n-1>                 <push arg n-1>
    CALL_FUNCTION   n              CALL_METHOD     n
 pypy.interpreter function pypy.objspace.descroperation object_getattribute pypy.rlib rstack LOOKUP_METHOD N/A N/A f nameindex N/A ignored N/A N/A space N/A f space N/A w_obj N/A N/A f popvalue N/A w_name N/A N/A f getname_w nameindex N/A w_value None N/A N/A N/A N/A N/A space config objspace std getattributeshortcut N/A N/A w_type N/A N/A space type w_obj N/A fastpath N/A w_type uses_object_getattribute N/A N/A w_getattribute N/A N/A space lookup w_obj __getattribute__ N/A N/A w_getattribute N/A object_getattribute space N/A N/A w_type N/A N/A space type w_obj N/A fastpath True N/A N/A fastpath False N/A fastpath N/A N/A name N/A N/A space str_w w_name N/A w_descr N/A N/A w_type lookup name N/A N/A w_descr None N/A N/A w_value N/A N/A w_obj getdictvalue space w_name N/A N/A N/A N/A type w_descr N/A function Function N/A N/A w_value N/A N/A w_obj getdictvalue_attr_is_in_class space w_name N/A N/A w_value None N/A N/A N/A N/A f pushvalue w_descr N/A N/A N/A f pushvalue w_obj N/A N/A N/A w_value None N/A N/A w_value N/A N/A space getattr w_obj w_name N/A N/A N/A f pushvalue w_value N/A N/A N/A f pushvalue None N/A CALL_METHOD N/A N/A f nargs N/A ignored N/A N/A w_self N/A N/A f peekvalue nargs N/A w_callable N/A N/A f peekvalue N/A nargs 1 N/A n N/A nargs N/A w_self None N/A N/A N/A w_result N/A N/A N/A f space call_valuestack w_callable n f N/A N/A N/A rstack resume_point CALL_METHOD f nargs returns w_result N/A N/A N/A N/A f dropvalues N/A nargs 2 N/A N/A N/A f pushvalue w_result N/A call_method_opt N/A N/A space w_obj methname N/A arg_w N/A N/A An optimized version of space.call_method()
    based on the same principle as above.
     N/A w_name N/A N/A space wrap methname N/A w_getattribute N/A N/A space lookup w_obj __getattribute__ N/A N/A w_getattribute N/A object_getattribute space N/A N/A w_descr N/A N/A space lookup w_obj methname N/A N/A N/A type w_descr N/A function Function N/A N/A w_value N/A N/A w_obj getdictvalue_attr_is_in_class space w_name N/A N/A w_value None N/A N/A N/A N/A space call_function w_descr w_obj arg_w N/A w_meth N/A N/A space getattr w_obj w_name N/A N/A N/A space call_function w_meth arg_w N/A