pypy / pypy / tool / traceconfig.py

""" Trace object space configuration options - set with __pytrace__=1
in py.py """

from pypy.tool.traceop import ResultPrinter, ResultPrinterVerbose

def get_operations_all():
    from pypy.interpreter.baseobjspace import ObjSpace
    operations = dict([(r[0], r[0]) for r in ObjSpace.MethodTable])
    for name in ObjSpace.IrregularOpTable + ["get_and_call_function"]:
        operations[name] = name

    # Remove list
    for name in ["wrap", "unwrap"]:
        if name in operations:
            del operations[name]

    return operations

config = {
    # An optional filename to use for trace output.  None is stdout
    "output_filename" : None,

    # Use a simple wrapped repr (fast) or try to do something more intelligent (slow)
    "repr_type_simple" : True,

    # Some internal interpreter code is written at applevel - by default
    # it is a good idea to hide this.
    "show_hidden_applevel" : False,

    # Many operations call back into the object space
    "recursive_operations" : False,

    # Show the bytecode or just the operations
    "show_bytecode" : True,

    # Indentor string used for output
    "indentor" : '  ',

    # Show wrapped values in bytecode
    "show_wrapped_consts_bytecode" : True,

    # Used to show realtive position in tree 
    "tree_pos_indicator" : "|-",

    "result_printer_clz" : ResultPrinter,

    "operations" : get_operations_all()
}
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.