diff options
author | Andy Wingo <wingo@pobox.com> | 2018-05-08 12:03:53 +0200 |
---|---|---|
committer | Andy Wingo <wingo@pobox.com> | 2018-05-08 12:03:53 +0200 |
commit | 0a8a7e9fd0eedfcf7e7acb1a6ecbc4a3bb9a5f16 (patch) | |
tree | bb2fa7ba3d71fcabd03225dd72edc7d5d65f3609 /libguile/vm-engine.c | |
parent | 41bc98985f39ed512594402cf150cebaff498656 (diff) | |
download | guile-0a8a7e9fd0eedfcf7e7acb1a6ecbc4a3bb9a5f16.tar.gz |
VM calls "<?" through intrinsic.
* libguile/intrinsics.c (less_p): New intrinsic.
(scm_bootstrap_intrinsics): Wire up intrinsic.
* libguile/intrinsics.h: Declare new intrinsic.
* libguile/vm-engine.c (less_p): Call through intrinsic.
Diffstat (limited to 'libguile/vm-engine.c')
-rw-r--r-- | libguile/vm-engine.c | 7 |
1 files changed, 1 insertions, 6 deletions
diff --git a/libguile/vm-engine.c b/libguile/vm-engine.c index 184cd1ef7..0c3a0ae6f 100644 --- a/libguile/vm-engine.c +++ b/libguile/vm-engine.c @@ -2897,12 +2897,7 @@ VM_NAME (scm_i_thread *thread, struct scm_vm *vp, y = SP_REF (b); SYNC_IP (); - if (scm_is_true (scm_nan_p (x)) || scm_is_true (scm_nan_p (y))) - vp->compare_result = SCM_F_COMPARE_INVALID; - else if (scm_is_true (scm_less_p (x, y))) - vp->compare_result = SCM_F_COMPARE_LESS_THAN; - else - vp->compare_result = SCM_F_COMPARE_NONE; + vp->compare_result = scm_vm_intrinsics.less_p (x, y); CACHE_SP (); NEXT (1); } |