Author: Armin Rigo <ar...@tunes.org> Branch: Changeset: r88692:52e737c73e60 Date: 2016-11-28 11:20 +0100 http://bitbucket.org/pypy/pypy/changeset/52e737c73e60/
Log: Change the default again: if _nowrapper=True, then we assume the default calling convention of 'c'. Looks reasonable because _nowrapper should be used mostly for internal RPython helpers written in C. A review of all usages seems to confirm this. diff --git a/rpython/rlib/longlong2float.py b/rpython/rlib/longlong2float.py --- a/rpython/rlib/longlong2float.py +++ b/rpython/rlib/longlong2float.py @@ -69,14 +69,12 @@ uint2singlefloat = rffi.llexternal( "pypy__uint2singlefloat", [rffi.UINT], rffi.FLOAT, _callable=uint2singlefloat_emulator, compilation_info=eci, - _nowrapper=True, elidable_function=True, sandboxsafe=True, - calling_conv='c') + _nowrapper=True, elidable_function=True, sandboxsafe=True) singlefloat2uint = rffi.llexternal( "pypy__singlefloat2uint", [rffi.FLOAT], rffi.UINT, _callable=singlefloat2uint_emulator, compilation_info=eci, - _nowrapper=True, elidable_function=True, sandboxsafe=True, - calling_conv='c') + _nowrapper=True, elidable_function=True, sandboxsafe=True) class Float2LongLongEntry(ExtRegistryEntry): diff --git a/rpython/rtyper/lltypesystem/rffi.py b/rpython/rtyper/lltypesystem/rffi.py --- a/rpython/rtyper/lltypesystem/rffi.py +++ b/rpython/rtyper/lltypesystem/rffi.py @@ -74,8 +74,7 @@ def llexternal(name, args, result, _callable=None, compilation_info=ExternalCompilationInfo(), sandboxsafe=False, releasegil='auto', - _nowrapper=False, - calling_conv='unknown' if sys.platform == 'win32' else 'c', + _nowrapper=False, calling_conv=None, elidable_function=False, macro=None, random_effects_on_gcobjs='auto', save_err=RFFI_ERR_NONE): @@ -100,8 +99,14 @@ calling_conv: if 'unknown' or 'win', the C function is not directly seen by the JIT. If 'c', it can be seen (depending on - releasegil=False). For tests only, it defaults to 'c'. + releasegil=False). For tests only, or if _nowrapper, + it defaults to 'c'. """ + if calling_conv is None: + if sys.platform == 'win32' and not _nowrapper: + calling_conv = 'unknown' + else: + calling_conv = 'c' if _callable is not None: assert callable(_callable) ext_type = lltype.FuncType(args, result) _______________________________________________ pypy-commit mailing list pypy-commit@python.org https://mail.python.org/mailman/listinfo/pypy-commit