diff options
author | Andy Wingo <wingo@pobox.com> | 2018-08-13 16:27:11 +0200 |
---|---|---|
committer | Andy Wingo <wingo@pobox.com> | 2018-08-13 22:00:15 +0200 |
commit | 0188bd381692fd2d72673dc5921a08f34f110f58 (patch) | |
tree | 3e6c2214455d401282dd4644c5412b429fc34a84 /libguile/programs.c | |
parent | d4abe8bbed4327ae46b493d3256c792ef6b3bb7b (diff) | |
download | guile-0188bd381692fd2d72673dc5921a08f34f110f58.tar.gz |
64-bit intrinsic args and return values passed indirectly on 32-bit
* libguile/intrinsics.h (INDIRECT_INT64_INTRINSICS): New definition. If
true, int64 args and return values are passed by reference. Here to
make JIT easier.
* libguile/intrinsics.c (indirect_scm_to_int64, indirect_scm_to_uint64):
(indirect_scm_to_uint64_truncate, indirect_scm_from_int64):
(indirect_scm_from_uint64, indirect_lsh, indirect_rsh): New indirect
variants.
(scm_bootstrap_intrinsics): Use indirect variants as appropriate.
* libguile/vm-engine.c: Update to call indirect intrinsics if
appropriate.
Diffstat (limited to 'libguile/programs.c')
0 files changed, 0 insertions, 0 deletions