===== CPYTHON vs. OPY Overview # A tibble: 5 x 3 table_name cpython opy 1 frames 3787 3787 2 names 46880 84790 3 consts 19441 18148 4 flags 8235 8224 5 ops 168543 177643 ===== Cell Variables CPython path code_name kind name 1 /home/andy/git/oilshell/oil/frontend/py_readline.pyc set_completion_display_matches_hook cell display 2 /home/andy/git/oilshell/oil/oil_lang/expr_eval.pyc _EvalIndices cell self 3 /home/andy/git/oilshell/oil/oil_lang/expr_eval.pyc _EvalExpr cell self 4 /home/andy/git/oilshell/oil/oil_lang/funcs_builtin.pyc Init2 cell globber OPy path code_name kind name 1 _build/oil/bytecode-opy/frontend/py_readline.pyc set_completion_display_matches_hook cell display 2 _build/oil/bytecode-opy/oil_lang/expr_eval.pyc _EvalIndices cell self 3 _build/oil/bytecode-opy/oil_lang/expr_eval.pyc _EvalExpr cell self 4 _build/oil/bytecode-opy/oil_lang/funcs_builtin.pyc Init2 cell globber ===== CLOSURE bytecodes CPython path code_name op_name op_arg 1 /home/andy/git/oilshell/oil/frontend/py_readline.pyc set_completion_display_matches_hook LOAD_CLOSURE 0 2 /home/andy/git/oilshell/oil/frontend/py_readline.pyc set_completion_display_matches_hook MAKE_CLOSURE 0 3 /home/andy/git/oilshell/oil/oil_lang/expr_eval.pyc _EvalIndices LOAD_CLOSURE 0 4 /home/andy/git/oilshell/oil/oil_lang/expr_eval.pyc _EvalIndices MAKE_CLOSURE 0 5 /home/andy/git/oilshell/oil/oil_lang/expr_eval.pyc _EvalExpr LOAD_CLOSURE 0 6 /home/andy/git/oilshell/oil/oil_lang/expr_eval.pyc _EvalExpr MAKE_CLOSURE 0 7 /home/andy/git/oilshell/oil/oil_lang/funcs_builtin.pyc Init2 LOAD_CLOSURE 0 8 /home/andy/git/oilshell/oil/oil_lang/funcs_builtin.pyc Init2 MAKE_CLOSURE 0 OPy path code_name op_name op_arg 1 _build/oil/bytecode-opy/frontend/py_readline.pyc set_completion_display_matches_hook LOAD_CLOSURE 0 2 _build/oil/bytecode-opy/frontend/py_readline.pyc set_completion_display_matches_hook MAKE_CLOSURE 0 3 _build/oil/bytecode-opy/oil_lang/expr_eval.pyc _EvalIndices LOAD_CLOSURE 0 4 _build/oil/bytecode-opy/oil_lang/expr_eval.pyc _EvalIndices MAKE_CLOSURE 0 5 _build/oil/bytecode-opy/oil_lang/expr_eval.pyc _EvalExpr LOAD_CLOSURE 0 6 _build/oil/bytecode-opy/oil_lang/expr_eval.pyc _EvalExpr MAKE_CLOSURE 0 7 _build/oil/bytecode-opy/oil_lang/funcs_builtin.pyc Init2 LOAD_CLOSURE 0 8 _build/oil/bytecode-opy/oil_lang/funcs_builtin.pyc Init2 MAKE_CLOSURE 0 ===== Rare bytecodes DELETE_FAST in CPython [1] path code_name op_name op_arg <0 rows> (or 0-length row.names) DELETE_FAST in OPy path code_name op_name op_arg 1 _build/oil/bytecode-opy/core/dev.pyc MaybeDump DELETE_FAST 23 2 _build/oil/bytecode-opy/core/dev.pyc _PrintShValue DELETE_FAST 7 3 _build/oil/bytecode-opy/core/dev.pyc OnProcessStart DELETE_FAST 9 4 _build/oil/bytecode-opy/core/dev.pyc OnShAssignment DELETE_FAST 13 5 _build/oil/bytecode-opy/core/main_loop.pyc Interactive DELETE_FAST 20 6 _build/oil/bytecode-opy/core/process.pyc _ApplyRedirect DELETE_FAST 7 7 _build/oil/bytecode-opy/core/pyutil.pyc Get DELETE_FAST 8 8 _build/oil/bytecode-opy/core/state.pyc _DumpVarFrame DELETE_FAST 20 9 _build/oil/bytecode-opy/core/state.pyc _ResolveNameOrRef DELETE_FAST 16 10 _build/oil/bytecode-opy/core/state.pyc SetValue DELETE_FAST 13 11 _build/oil/bytecode-opy/core/state.pyc SetValue DELETE_FAST 62 12 _build/oil/bytecode-opy/core/state.pyc Unset DELETE_FAST 7 13 _build/oil/bytecode-opy/core/state.pyc Unset DELETE_FAST 7 14 _build/oil/bytecode-opy/core/state.pyc GetString DELETE_FAST 8 15 _build/oil/bytecode-opy/core/ui.pyc GetLineSourceString DELETE_FAST 8 16 _build/oil/bytecode-opy/frontend/args.pyc Set DELETE_FAST 10 17 _build/oil/bytecode-opy/frontend/location.pyc GetSpanId DELETE_FAST 5 18 _build/oil/bytecode-opy/frontend/location.pyc SpanForArithExpr DELETE_FAST 5 19 _build/oil/bytecode-opy/frontend/typed_args.pyc GetOneBlock DELETE_FAST 16 20 _build/oil/bytecode-opy/oil_lang/builtin_oil.pyc Run DELETE_FAST 22 21 _build/oil/bytecode-opy/oil_lang/expr_eval.pyc LookupVar DELETE_FAST 16 22 _build/oil/bytecode-opy/oil_lang/expr_eval.pyc EvalLHS DELETE_FAST 6 23 _build/oil/bytecode-opy/oil_lang/expr_eval.pyc EvalPlaceExpr DELETE_FAST 6 24 _build/oil/bytecode-opy/oil_lang/expr_eval.pyc _EvalExpr DELETE_FAST 6 25 _build/oil/bytecode-opy/oil_lang/expr_eval.pyc _EvalClassLiteralTerm DELETE_FAST 12 26 _build/oil/bytecode-opy/oil_lang/expr_eval.pyc _EvalRegex DELETE_FAST 6 27 _build/oil/bytecode-opy/oil_lang/expr_parse.pyc _PushOilTokens DELETE_FAST 52 28 _build/oil/bytecode-opy/oil_lang/regex_translate.pyc _CharClassTermToEre DELETE_FAST 9 29 _build/oil/bytecode-opy/osh/braces.pyc _ExpandPart DELETE_FAST 10 30 _build/oil/bytecode-opy/osh/braces.pyc BraceExpandWords DELETE_FAST 7 31 _build/oil/bytecode-opy/osh/builtin_process2.pyc _Run DELETE_FAST 46 32 _build/oil/bytecode-opy/osh/builtin_pure.pyc Run DELETE_FAST 55 33 _build/oil/bytecode-opy/osh/cmd_eval.pyc _HasManyStatuses DELETE_FAST 19 34 _build/oil/bytecode-opy/osh/cmd_eval.pyc _CheckStatus DELETE_FAST 11 35 _build/oil/bytecode-opy/osh/cmd_eval.pyc _EvalRedirect DELETE_FAST 14 36 _build/oil/bytecode-opy/osh/cmd_eval.pyc _EvalRedirects DELETE_FAST 6 37 _build/oil/bytecode-opy/osh/cmd_eval.pyc _RunSimpleCommand DELETE_FAST 8 38 _build/oil/bytecode-opy/osh/cmd_eval.pyc _EvalCondition DELETE_FAST 9 39 _build/oil/bytecode-opy/osh/cmd_eval.pyc _Dispatch DELETE_FAST 9 40 _build/oil/bytecode-opy/osh/cmd_eval.pyc _Dispatch DELETE_FAST 132 41 _build/oil/bytecode-opy/osh/cmd_eval.pyc _Dispatch DELETE_FAST 132 42 _build/oil/bytecode-opy/osh/cmd_eval.pyc _NoForkLast DELETE_FAST 6 43 _build/oil/bytecode-opy/osh/cmd_eval.pyc _RemoveSubshells DELETE_FAST 6 44 _build/oil/bytecode-opy/osh/sh_expr_eval.pyc OldValue DELETE_FAST 10 45 _build/oil/bytecode-opy/osh/sh_expr_eval.pyc OldValue DELETE_FAST 10 46 _build/oil/bytecode-opy/osh/sh_expr_eval.pyc OldValue DELETE_FAST 32 47 _build/oil/bytecode-opy/osh/sh_expr_eval.pyc OldValue DELETE_FAST 32 48 _build/oil/bytecode-opy/osh/sh_expr_eval.pyc _ValToIntOrError DELETE_FAST 7 49 _build/oil/bytecode-opy/osh/sh_expr_eval.pyc Eval DELETE_FAST 6 50 _build/oil/bytecode-opy/osh/sh_expr_eval.pyc Eval DELETE_FAST 87 51 _build/oil/bytecode-opy/osh/sh_expr_eval.pyc EvalShellLhs DELETE_FAST 12 52 _build/oil/bytecode-opy/osh/sh_expr_eval.pyc _VarNameOrWord DELETE_FAST 6 53 _build/oil/bytecode-opy/osh/sh_expr_eval.pyc EvalB DELETE_FAST 6 54 _build/oil/bytecode-opy/osh/sh_expr_eval.pyc EvalB DELETE_FAST 43 55 _build/oil/bytecode-opy/osh/split.pyc _GetSplitter DELETE_FAST 12 56 _build/oil/bytecode-opy/osh/split.pyc GetJoinChar DELETE_FAST 10 57 _build/oil/bytecode-opy/osh/tdop.pyc IsIndexable DELETE_FAST 6 58 _build/oil/bytecode-opy/osh/word_compile.pyc EvalCharLiteralForRegex DELETE_FAST 8 59 _build/oil/bytecode-opy/osh/word_eval.pyc _ValueToPartValue DELETE_FAST 6 60 _build/oil/bytecode-opy/osh/word_eval.pyc _MakeWordFrames DELETE_FAST 8 61 _build/oil/bytecode-opy/osh/word_eval.pyc _DecayPartValuesToString DELETE_FAST 8 62 _build/oil/bytecode-opy/osh/word_eval.pyc _PerformSlice DELETE_FAST 10 63 _build/oil/bytecode-opy/osh/word_eval.pyc _ApplyTestOp DELETE_FAST 60 64 _build/oil/bytecode-opy/osh/word_eval.pyc _ApplyTestOp DELETE_FAST 60 65 _build/oil/bytecode-opy/osh/word_eval.pyc _Length DELETE_FAST 7 66 _build/oil/bytecode-opy/osh/word_eval.pyc _Keys DELETE_FAST 7 67 _build/oil/bytecode-opy/osh/word_eval.pyc _EvalVarRef DELETE_FAST 10 68 _build/oil/bytecode-opy/osh/word_eval.pyc _ApplyUnarySuffixOp DELETE_FAST 22 69 _build/oil/bytecode-opy/osh/word_eval.pyc _PatSub DELETE_FAST 33 70 _build/oil/bytecode-opy/osh/word_eval.pyc _Slice DELETE_FAST 27 71 _build/oil/bytecode-opy/osh/word_eval.pyc _Nullary DELETE_FAST 14 72 _build/oil/bytecode-opy/osh/word_eval.pyc _Nullary DELETE_FAST 14 73 _build/oil/bytecode-opy/osh/word_eval.pyc _Nullary DELETE_FAST 14 74 _build/oil/bytecode-opy/osh/word_eval.pyc _WholeArray DELETE_FAST 16 75 _build/oil/bytecode-opy/osh/word_eval.pyc _WholeArray DELETE_FAST 16 76 _build/oil/bytecode-opy/osh/word_eval.pyc _ArrayIndex DELETE_FAST 13 77 _build/oil/bytecode-opy/osh/word_eval.pyc _EvalBracketOp DELETE_FAST 11 78 _build/oil/bytecode-opy/osh/word_eval.pyc _EvalBracedVarSub DELETE_FAST 78 79 _build/oil/bytecode-opy/osh/word_eval.pyc _ConcatPartVals DELETE_FAST 9 80 _build/oil/bytecode-opy/osh/word_eval.pyc _TranslateExtGlob DELETE_FAST 12 81 _build/oil/bytecode-opy/osh/word_eval.pyc _EvalWordPart DELETE_FAST 13 82 _build/oil/bytecode-opy/osh/word_eval.pyc _EvalWordPart DELETE_FAST 88 83 _build/oil/bytecode-opy/osh/word_eval.pyc _EvalRhsWordToParts DELETE_FAST 11 84 _build/oil/bytecode-opy/osh/word_eval.pyc _PartValsToString DELETE_FAST 10 85 _build/oil/bytecode-opy/osh/word_parse.pyc _ParseVarExpr DELETE_FAST 54 86 _build/oil/bytecode-opy/osh/word_parse.pyc ParsePlaceMutation DELETE_FAST 21 87 _build/oil/bytecode-opy/osh/word_parse.pyc _ReadArrayLiteral DELETE_FAST 26 88 _build/oil/bytecode-opy/osh/word_.pyc _EvalWordPart DELETE_FAST 5 89 _build/oil/bytecode-opy/osh/word_.pyc LeftMostSpanForPart DELETE_FAST 5 90 _build/oil/bytecode-opy/osh/word_.pyc _RightMostSpanForPart DELETE_FAST 5 91 _build/oil/bytecode-opy/osh/word_.pyc LeftMostSpanForWord DELETE_FAST 5 92 _build/oil/bytecode-opy/osh/word_.pyc RightMostSpanForWord DELETE_FAST 5 93 _build/oil/bytecode-opy/osh/word_.pyc BoolId DELETE_FAST 5 94 _build/oil/bytecode-opy/osh/word_.pyc CommandId DELETE_FAST 5 95 _build/oil/bytecode-opy/osh/word_.pyc SpanForLhsExpr DELETE_FAST 5 96 _build/oil/bytecode-opy/tools/osh2oil.pyc _GetRhsStyle DELETE_FAST 5 97 _build/oil/bytecode-opy/tools/osh2oil.pyc _GetRhsStyle DELETE_FAST 19 98 _build/oil/bytecode-opy/tools/osh2oil.pyc DoShAssignment DELETE_FAST 31 99 _build/oil/bytecode-opy/tools/osh2oil.pyc DoCommand DELETE_FAST 8 100 _build/oil/bytecode-opy/tools/osh2oil.pyc DoCommand DELETE_FAST 78 101 _build/oil/bytecode-opy/tools/osh2oil.pyc DoRhsWord DELETE_FAST 7 102 _build/oil/bytecode-opy/tools/osh2oil.pyc DoWordInCommand DELETE_FAST 7 103 _build/oil/bytecode-opy/tools/osh2oil.pyc DoWordPart DELETE_FAST 18 STORE_GLOBAL in OPy path code_name op_name op_arg 1 _build/oil/bytecode-opy/core/pyos.pyc InitSignalSafe STORE_GLOBAL 1 2 _build/oil/bytecode-opy/core/pyutil.pyc GetResourceLoader STORE_GLOBAL 0 3 _build/oil/bytecode-opy/core/pyutil.pyc GetResourceLoader STORE_GLOBAL 0 4 _build/oil/bytecode-opy/core/pyutil.pyc GetResourceLoader STORE_GLOBAL 0 STORE_SLICE+1 in OPy [1] path code_name op_name op_arg <0 rows> (or 0-length row.names)