def test_call_global_function(): #used by PyPy JIT for adding case(s) to a flexswitch llvmjit.restart() gp_function = llvmjit.get_pointer_to_global_function() llvmjit.parse(llcall_global_function) p = llvmjit.getNamedFunction('my_global_function...') assert not p p = llvmjit.getNamedFunction('my_global_function') assert p llvmjit.addGlobalMapping(p, gp_function) #prior to execute()! call_global_function = llvmjit.getNamedFunction('call_global_function') assert llvmjit.execute(call_global_function, 5) == 3 + 5 + 7
def test_call_global_function( ): #used by PyPy JIT for adding case(s) to a flexswitch llvmjit.restart() gp_function = llvmjit.get_pointer_to_global_function() llvmjit.parse(llcall_global_function) p = llvmjit.getNamedFunction('my_global_function...') assert not p p = llvmjit.getNamedFunction('my_global_function') assert p llvmjit.addGlobalMapping(p, gp_function) #prior to execute()! call_global_function = llvmjit.getNamedFunction('call_global_function') assert llvmjit.execute(call_global_function, 5) == 3 + 5 + 7
def test_modify_global_data(): llvmjit.restart() llvmjit.set_global_data(10) assert llvmjit.get_global_data() == 10 gp_data = llvmjit.get_pointer_to_global_data() llvmjit.parse(llglobalmul4) p = llvmjit.getNamedGlobal('my_global_data...') assert not p p = llvmjit.getNamedGlobal('my_global_data') assert p llvmjit.addGlobalMapping(p, gp_data) #note: should be prior to execute() globalmul4 = llvmjit.getNamedFunction('globalmul4') assert llvmjit.execute(globalmul4, 5) == 10 * 4 + 5 assert llvmjit.get_global_data() == 10 * 4 + 5