def actual_entry(argv): jit.set_param(None, "trace_limit", 1000000) jit.set_param(None, "threshold", 131) jit.set_param(None, "trace_eagerness", 50) config, names, args, retval = parse_args(argv) if retval != 0 or config is None: return retval args_w = [W_String.fromstr_utf8(arg) for arg in args] module_name, json_ast = ensure_json_ast(config, names) entry_flag = 'byte-expand' in names reader = JsonLoader(bytecode_expand=entry_flag) if json_ast is None: ast = reader.expand_to_ast(module_name) else: ast = reader.load_json_ast_rpython(module_name, json_ast) env = ToplevelEnv(pycketconfig) env.globalconfig.load(ast) env.commandline_arguments = args_w env.module_env.add_module(module_name, ast) try: val = interpret_module(ast, env) finally: from pycket.prims.input_output import shutdown if config.get('save-callgraph', False): with open('callgraph.dot', 'w') as outfile: env.callgraph.write_dot_file(outfile) shutdown(env) return 0
def parse_file(fname, *replacements, **kwargs): abspath = kwargs.get("abspath", False) if not abspath: fname = os.path.join(os.path.dirname(__file__), fname) if kwargs.get("inplace", False): assert not replacements if not pytest.config.byte_option: reader = JsonLoader(bytecode_expand=False) else: reader = JsonLoader(bytecode_expand=True) ast = reader.expand_to_ast(fname) return ast with file(fname) as f: s = f.read() for replace, with_ in replacements: assert s.count(replace) == 1 s = s.replace(replace, with_) s = s.decode("utf-8") if not pytest.config.byte_option: s = expand_string(s) ast = parse_module(s) else: s = expand_from_bytecode(s, True) ast = parse_module(s, bytecode_expand=True) return ast
def actual_entry(argv): jit.set_param(None, "trace_limit", 1000000) jit.set_param(None, "threshold", 131) jit.set_param(None, "trace_eagerness", 50) jit.set_param(None, "max_unroll_loops", 15) config, names, args, retval = parse_args(argv) if retval != 0 or config is None: return retval args_w = [W_String.fromstr_utf8(arg) for arg in args] module_name, json_ast = ensure_json_ast(config, names) entry_flag = 'byte-expand' in names reader = JsonLoader(bytecode_expand=entry_flag) if json_ast is None: ast = reader.expand_to_ast(module_name) else: ast = reader.load_json_ast_rpython(module_name, json_ast) env = ToplevelEnv(pycketconfig) env.globalconfig.load(ast) env.commandline_arguments = args_w env.module_env.add_module(module_name, ast) try: val = interpret_module(ast, env) finally: from pycket.prims.input_output import shutdown for callback in POST_RUN_CALLBACKS: callback(config, env) shutdown(env) return 0
def actual_entry(argv): jit.set_param(None, "trace_limit", 1000000) jit.set_param(None, "threshold", 131) jit.set_param(None, "trace_eagerness", 50) jit.set_param(None, "max_unroll_loops", 10) config, names, args, retval = parse_args(argv) if retval != 0 or config is None: return retval args_w = [W_String.fromstr_utf8(arg) for arg in args] module_name, json_ast = ensure_json_ast(config, names) entry_flag = 'byte-expand' in names reader = JsonLoader(bytecode_expand=entry_flag) if json_ast is None: ast = reader.expand_to_ast(module_name) else: ast = reader.load_json_ast_rpython(module_name, json_ast) env = ToplevelEnv(pycketconfig) env.globalconfig.load(ast) env.commandline_arguments = args_w env.module_env.add_module(module_name, ast) try: val = interpret_module(ast, env) finally: from pycket.prims.input_output import shutdown for callback in POST_RUN_CALLBACKS: callback(config, env) shutdown(env) return 0
def parse_file(fname, *replacements, **kwargs): abspath = kwargs.get("abspath", False) if not abspath: fname = os.path.join(os.path.dirname(__file__), fname) if kwargs.get("inplace", False): assert not replacements if not pytest.config.byte_option: reader = JsonLoader(bytecode_expand=False) else: reader = JsonLoader(bytecode_expand=True) ast = reader.expand_to_ast(fname) return ast with file(fname) as f: s = f.read() for replace, with_ in replacements: assert s.count(replace) == 1 s = s.replace(replace, with_) s = s.decode("utf-8") s = expand_string(s) ast = parse_module(s) # if not pytest.config.byte_option: # s = expand_string(s) # ast = parse_module(s) # else: # s = expand_from_bytecode(s, True) # ast = parse_module(s, bytecode_expand=True) return ast
def old_pycket_actual_entry(argv): jit.set_param(None, "trace_limit", 1000000) jit.set_param(None, "threshold", 131) jit.set_param(None, "trace_eagerness", 50) jit.set_param(None, "max_unroll_loops", 15) config, names, args, retval = old_pycket_parse_args(argv) if retval != 0 or config is None: return retval args_w = [W_String.fromstr_utf8(arg) for arg in args] module_name, json_ast = ensure_json_ast(config, names) from pycket.env import w_global_config from pycket.prims.general import make_stub_predicates_no_linklet w_global_config.set_linklet_mode_off() entry_flag = 'byte-expand' in names multi_mod_flag = 'multiple-modules' in names multi_mod_map = ModuleMap(json_ast) if multi_mod_flag else None reader = JsonLoader(bytecode_expand=entry_flag, multiple_modules=multi_mod_flag, module_mapper=multi_mod_map) if json_ast is None: ast = reader.expand_to_ast(module_name) else: ast = reader.load_json_ast_rpython(module_name, json_ast) env = ToplevelEnv(pycketconfig) env.globalconfig.load(ast) env.commandline_arguments = args_w env.module_env.add_module(module_name, ast) try: val = interpret_module(ast, env) finally: from pycket.prims.input_output import shutdown for callback in POST_RUN_CALLBACKS: callback(config, env) shutdown(env) return 0