コード例 #1
0
ファイル: test_ffisupport.py プロジェクト: ieure/pypy
def test_call_descr_dynamic():

    args = [types.sint, types.double, types.pointer]
    descr = get_call_descr_dynamic(args, types.void)
    assert isinstance(descr, VoidCallDescr)
    assert descr.arg_classes == 'ifi'

    descr = get_call_descr_dynamic([], types.sint8)
    assert isinstance(descr, DynamicIntCallDescr)
    assert descr.get_result_size(False) == 1
    assert descr.is_result_signed() == True

    descr = get_call_descr_dynamic([], types.uint8)
    assert isinstance(descr, DynamicIntCallDescr)
    assert descr.get_result_size(False) == 1
    assert descr.is_result_signed() == False

    descr = get_call_descr_dynamic([], types.float)
    assert descr is None # single floats are not supported so far
コード例 #2
0
ファイル: llmodel.py プロジェクト: gorakhargosh/pypy
 def calldescrof_dynamic(self, ffi_args, ffi_result, extrainfo=None):
     from pypy.jit.backend.llsupport import ffisupport
     return ffisupport.get_call_descr_dynamic(self, ffi_args, ffi_result,
                                              extrainfo)
コード例 #3
0
ファイル: llmodel.py プロジェクト: purepython/pypy
 def calldescrof_dynamic(self, ffi_args, ffi_result, extrainfo, ffi_flags):
     from pypy.jit.backend.llsupport import ffisupport
     return ffisupport.get_call_descr_dynamic(self, ffi_args, ffi_result,
                                              extrainfo, ffi_flags)