2000-09-29 Keisuke Nishida * src/Makefile.am: Don't use guile-snarf to generate instruction table. Create *.i by using grep. * src/vm_expand.h: Replaced from vm-snarf.h. * src/vm.c, src/vm.h, src/vm_engine.c: Include *.i. * src/vm_system.c, src/vm_scheme.c, src/vm_number.c: Don't include "vm-snarf.h". 2000-09-27 Keisuke Nishida * src/vm.c, src/vm.h, src/vm_engine.c, src/vm_engine.h, src/vm-snarf.h: Indirect threaded. * src/Makefile.am, src/.cvsignore: Updated. 2000-09-22 Keisuke Nishida * src/vm.c: SCM_CHARS -> SCM_SYMBOL_CHARS. 2000-09-22 Keisuke Nishida * src/vm_system.c (call): Call return-hook before reinstating a continuation. (tail_call): Call return-hook before a proper tail call. 2000-09-20 Keisuke Nishida * src/vm.c (scm_name_property): New variable. (scm_name, scm_set_name_x): New procedures. (scm_smob_print_with_name, init_name_property): New functions. (print_program, scm_program_name): Removed. (init_program_type, init_vm_type): Use scm_smob_print_with_name. (scm_init_vm): Call init_name_property. * src/vm_system.c (name): New instruction. (savet): Don't set name. * vm/shell.scm (vm-frame->call): Updated. * vm/bytecomp.scm (translate-ref): Combined translate-local-ref, translate-external-ref, and translate-top-level-ref. (translate-set): Combined translate-local-set, translate-external-set, and translate-top-level-ref. Set a name to the object. * src/vm_number.c (FUNC2): New macro. (add2, sub2): Use FUNC2. (remainder): New instruction. * vm/bytecomp.scm (translate-and, translate-or): Bug fixed. 2000-09-20 Keisuke Nishida * src/vm_scheme.c (cons): Bug fixed. * src/vm_system.c (br_if_null): Set ac = SCM_BOOL_T if null. (br_if_not_null): Set ac = SCM_BOOL_F if not null. 2000-09-11 Keisuke Nishida * autogen.sh: Run aclocal with check where guile.m4 is installed. 2000-09-10 Keisuke Nishida * src/vm_system.c (push_list): New instruction. * src/vm_engine.c (VM_NAME): Don't validate VM and PROGRAM. * src/vm.c (scm_vm_apply): New procedure. (apply_program): New function. (init_program_type): Set the apply function for the program type. * src/vm.c (lookup_variable): Use scm_eval_closure_lookup. 2000-09-03 Keisuke Nishida * src/vm_system.c (tail_call): Use SCM_TICK at the beginning. 2000-09-02 Keisuke Nishida * src/vm_engine.c (VM_NAME): Renamed the variable `an' to `nargs'. Removed the variables `a2' and `a3'. * src/vm_engine.h (VM_SETUP_ARGS2, VM_SETUP_ARGS3): Setup local variables. (VM_SETUP_ARGS4): Removed. * src/vm_system.c, src/vm_scheme.c, src/vm_number.c: Updated. 2000-08-24 Keisuke Nishida * src/vm.c (lookup_variable): New function. (scm_make_bytecode): Call lookup_variable for top-level variables. * src/vm_engine.h (VM_VARIABLE_REF, VM_VARIABLE_SET): New macros. * src/vm_system.c (TOPLEVEL_VAR, TOPLEVEL_VAR_SET): Removed. Use VM_VARIABLE_REF and VM_VARIABLE_SET instead. 2000-08-22 Keisuke Nishida * src/vm.c, src/vm.h, src/vm_engine.c, src/vm_engine.h, src/vm_system.c: Create external frames dynamically. * vm/shell.scm: Use frame-external-link. * vm/compile.scm (compile-file): Output "(use-modules (vm vm))". * vm/types.scm (make-code): Check argument types. (make-code:and, make-code:or): Pass env to make-code. * vm/bytecomp.scm (translate-and, translate-or): Don't branch on the last expression. 2000-08-20 Keisuke Nishida * Version 0.2 is released. 2000-08-12 Keisuke Nishida * Version 0.1 is released. 2000-07-29 Keisuke Nishida * Version 0.0 is released.