[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Guile-commits] 07/24: Remove now-unused string-length, string-ref
From: |
Andy Wingo |
Subject: |
[Guile-commits] 07/24: Remove now-unused string-length, string-ref |
Date: |
Tue, 10 Apr 2018 13:24:13 -0400 (EDT) |
wingo pushed a commit to branch master
in repository guile.
commit 33b038bfa9d26c9b5a0466038879621c97e2a334
Author: Andy Wingo <address@hidden>
Date: Mon Apr 9 10:20:54 2018 +0200
Remove now-unused string-length, string-ref
* libguile/vm-engine.c (string-length, string-ref): Remove
instructions.
* module/system/vm/assembler.scm: Remove assembler exports as well.
---
libguile/vm-engine.c | 34 ++++------------------------------
module/system/vm/assembler.scm | 2 --
2 files changed, 4 insertions(+), 32 deletions(-)
diff --git a/libguile/vm-engine.c b/libguile/vm-engine.c
index b6b312c..db4eb83 100644
--- a/libguile/vm-engine.c
+++ b/libguile/vm-engine.c
@@ -2130,37 +2130,11 @@ VM_NAME (scm_i_thread *thread, struct scm_vm *vp,
* Strings, symbols, and keywords
*/
- /* string-length dst:12 src:12
- *
- * Store the length of the string in SRC in DST.
- */
- VM_DEFINE_OP (76, string_length, "string-length", OP1 (X8_S12_S12) | OP_DST)
+ VM_DEFINE_OP (76, unused_76, NULL, NOP)
+ VM_DEFINE_OP (77, unused_77, NULL, NOP)
{
- ARGS1 (str);
- VM_VALIDATE_STRING (str, "string-length");
- SP_SET_U64 (dst, scm_i_string_length (str));
- NEXT (1);
- }
-
- /* string-ref dst:8 src:8 idx:8
- *
- * Fetch the character at position IDX in the string in SRC, and store
- * it in DST.
- */
- VM_DEFINE_OP (77, string_ref, "string-ref", OP1 (X8_S8_S8_S8) | OP_DST)
- {
- scm_t_uint8 dst, src, idx;
- SCM str;
- scm_t_uint64 c_idx;
-
- UNPACK_8_8_8 (op, dst, src, idx);
- str = SP_REF (src);
- c_idx = SP_REF_U64 (idx);
-
- VM_VALIDATE_STRING (str, "string-ref");
- VM_VALIDATE_INDEX (c_idx, scm_i_string_length (str), "string-ref");
-
- RETURN (SCM_MAKE_CHAR (scm_i_string_ref (str, c_idx)));
+ vm_error_bad_instruction (op);
+ abort (); /* never reached */
}
/* string-set! instruction is currently number 192. Probably need to
diff --git a/module/system/vm/assembler.scm b/module/system/vm/assembler.scm
index fba4e22..e1dd9e3 100644
--- a/module/system/vm/assembler.scm
+++ b/module/system/vm/assembler.scm
@@ -230,8 +230,6 @@
emit-current-thread
emit-fluid-ref
emit-fluid-set!
- emit-string-length
- emit-string-ref
emit-string-set!
emit-string->number
emit-string->symbol
- [Guile-commits] branch master updated (98fc9c0 -> 59f1f5a), Andy Wingo, 2018/04/10
- [Guile-commits] 04/24: CPS conversion lowers string-length, Andy Wingo, 2018/04/10
- [Guile-commits] 10/24: Remove string-set! VM op, Andy Wingo, 2018/04/10
- [Guile-commits] 07/24: Remove now-unused string-length, string-ref,
Andy Wingo <=
- [Guile-commits] 03/24: Remove specific instructions for add, etc from VM, Andy Wingo, 2018/04/10
- [Guile-commits] 06/24: Lower string-ref in CPS conversion, Andy Wingo, 2018/04/10
- [Guile-commits] 11/24: Instruction explosion for integer->char, Andy Wingo, 2018/04/10
- [Guile-commits] 16/24: Add load-label instruction, Andy Wingo, 2018/04/10
- [Guile-commits] 21/24: Add string->number etc as macro instructions to reify-primitives, Andy Wingo, 2018/04/10
- [Guile-commits] 12/24: Remove integer->char op, Andy Wingo, 2018/04/10
- [Guile-commits] 13/24: Instruction explosion for char->integer, Andy Wingo, 2018/04/10
- [Guile-commits] 05/24: Add VM ops needed for string-ref, Andy Wingo, 2018/04/10
- [Guile-commits] 01/24: Add instrinsics to runtime, Andy Wingo, 2018/04/10
- [Guile-commits] 02/24: Compile some generic arithmetic to intrinsic calls, Andy Wingo, 2018/04/10