def transform_stackless_function(fn, callback_for_transform=None): def wrapper(argv): return fn() t = rtype_stackless_function(wrapper) if callback_for_transform: callback_for_transform(t) if conftest.option.view: t.view() st = StacklessTransformer(t, wrapper, False) st.transform_all()
def transform_stackless_function(fn, callback_for_transform=None): def wrapper(argv): return fn() t = rtype_stackless_function(wrapper) if callback_for_transform: callback_for_transform(t) if conftest.option.view: t.view() st = StacklessTransformer(t, wrapper, False) st.transform_all()
def llinterp_stackless_function(fn, returntranslator=False, assert_unwind=True): def wrapper(argv): return fn() t = rtype_stackless_function(wrapper) st = StacklessTransformer(t, wrapper, assert_unwind=assert_unwind) st.transform_all() if conftest.option.view: t.view() graph = graphof(t, st.slp_entry_point) r_list_of_strings = t.rtyper.getrepr(t.annotator.binding(graph.startblock.inputargs[0])) ll_list = r_list_of_strings.convert_const([""]) interp = llinterp.LLInterpreter(t.rtyper) res = interp.eval_graph(graph, [ll_list]) if returntranslator: return res, t else: return res
def llinterp_stackless_function(fn, returntranslator=False, assert_unwind=True): def wrapper(argv): return fn() t = rtype_stackless_function(wrapper) st = StacklessTransformer(t, wrapper, assert_unwind=assert_unwind) st.transform_all() if conftest.option.view: t.view() graph = graphof(t, st.slp_entry_point) r_list_of_strings = t.rtyper.getrepr( t.annotator.binding(graph.startblock.inputargs[0])) ll_list = r_list_of_strings.convert_const(['']) interp = llinterp.LLInterpreter(t.rtyper) res = interp.eval_graph(graph, [ll_list]) if returntranslator: return res, t else: return res