diff options
author | Andy Wingo <wingo@pobox.com> | 2018-01-07 16:22:55 +0100 |
---|---|---|
committer | Andy Wingo <wingo@pobox.com> | 2018-01-07 16:25:09 +0100 |
commit | 5dde0e48e7c77f4d4b623052c1c6c6a44d4706a5 (patch) | |
tree | b0ae615590f11434cf0d0384ea5c1ca48e5b5193 /libguile/vm-engine.c | |
parent | 6e100c9ba67bc6c30426dd08a14fb89c7a4b1a54 (diff) | |
download | guile-5dde0e48e7c77f4d4b623052c1c6c6a44d4706a5.tar.gz |
Remove "ash" instruction.
* libguile/vm-engine.c (ash): Remove instruction, which hasn't been
emitted for a long time.
* module/system/vm/assembler.scm (emit-ash): Remove export.
Diffstat (limited to 'libguile/vm-engine.c')
-rw-r--r-- | libguile/vm-engine.c | 41 |
1 files changed, 5 insertions, 36 deletions
diff --git a/libguile/vm-engine.c b/libguile/vm-engine.c index 43506a69c..aa59795df 100644 --- a/libguile/vm-engine.c +++ b/libguile/vm-engine.c @@ -1,5 +1,5 @@ -/* Copyright (C) 2001, 2009, 2010, 2011, 2012, 2013, - * 2014, 2015, 2017 Free Software Foundation, Inc. +/* Copyright (C) 2001, 2009-2015, 2017-2018 + * Free Software Foundation, Inc. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public License @@ -2423,41 +2423,10 @@ VM_NAME (scm_i_thread *thread, struct scm_vm *vp, RETURN_EXP (scm_modulo (x, y)); } - /* ash dst:8 a:8 b:8 - * - * Shift A arithmetically by B bits, and place the result in DST. - */ - VM_DEFINE_OP (95, ash, "ash", OP1 (X8_S8_S8_S8) | OP_DST) + VM_DEFINE_OP (95, unused_95, NULL, NOP) { - ARGS2 (x, y); - if (SCM_I_INUMP (x) && SCM_I_INUMP (y)) - { - if (SCM_I_INUM (y) < 0) - /* Right shift, will be a fixnum. */ - RETURN (SCM_I_MAKINUM - (SCM_SRS (SCM_I_INUM (x), - (-SCM_I_INUM (y) <= SCM_I_FIXNUM_BIT-1) - ? -SCM_I_INUM (y) : SCM_I_FIXNUM_BIT-1))); - else - /* Left shift. See comments in scm_ash. */ - { - scm_t_signed_bits nn, bits_to_shift; - - nn = SCM_I_INUM (x); - bits_to_shift = SCM_I_INUM (y); - - if (bits_to_shift < SCM_I_FIXNUM_BIT-1 - && ((scm_t_bits) - (SCM_SRS (nn, (SCM_I_FIXNUM_BIT-1 - bits_to_shift)) + 1) - <= 1)) - RETURN (SCM_I_MAKINUM (nn < 0 - ? -(-nn << bits_to_shift) - : (nn << bits_to_shift))); - /* fall through */ - } - /* fall through */ - } - RETURN_EXP (scm_ash (x, y)); + vm_error_bad_instruction (op); + abort (); /* never reached */ } /* logand dst:8 a:8 b:8 |