[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH 10/10] add new rtl vm
From: |
Ludovic Courtès |
Subject: |
Re: [PATCH 10/10] add new rtl vm |
Date: |
Thu, 30 May 2013 18:06:38 +0200 |
User-agent: |
Gnus/5.130007 (Ma Gnus v0.7) Emacs/24.3 (gnu/linux) |
Hello!
Andy Wingo <address@hidden> skribis:
> * libguile/vm-engine.c (rtl_vm_engine): Add new VM.
> (vm_engine): Add support for calling RTL programs.
>
> * libguile/tags.h (scm_tc7_rtl_program): New type for procedures that
> run on the new VM.
> * libguile/evalext.c (scm_self_evaluating_p):
> * libguile/goops.c (scm_class_of):
> * libguile/print.c (iprin1):
> * libguile/procprop.c (scm_i_procedure_arity):
> * libguile/procs.c (scm_procedure_p): Add hooks for the new tc7.
>
> * libguile/programs.h:
> * libguile/programs.c (scm_make_rtl_program, scm_i_rtl_program_print)
> (scm_rtl_program_p, scm_rtl_program_code):
> * module/system/vm/program.scm: Add constructors and accessors for the
> new "RTL programs".
>
> * libguile/vm.c (rtl_boot_continuation): Define a boot program.
> (rtl_apply, rtl_values): New static RTL programs.
>
> * libguile/frames.c (scm_frame_num_locals): Adapt for frames of RTL
> programs.
>
> * libguile/frames.h: Add description of RTL frames.
>
> * libguile/Makefile.am: Add rules to generate vm-operations.h.
> * .gitignore: Ignore vm-operations.h.
> * module/system/vm/instruction.scm:
> * libguile/instructions.c:
> * libguile/instructions.h: Use vm-operations.h to define enumerated
> values for the new RTL opcodes. Define some helper macros to pack and
> unpack 32-bit instruction words.
> (rtl-instruction-list): New function, exported by (system vm
> instruction).
>
> * libguile/objcodes.c: Wire up the bits needed to detect the new RTL
> bytecode and load it, as appropriate.
Sorry for the long delay. It all looks nice to me, and the ability of
have a transition with the two VMs side-by-side during the 2.1 series is
a convenient way to allow for further development of the new VM while
still allowing people to play with the other new features of 2.1.
That’s all I have to say now. Go ahead! :-)
Ludo’.
- [PATCH 04/10] remove some configurability in vm-engine, (continued)
- [PATCH 04/10] remove some configurability in vm-engine, Andy Wingo, 2013/05/23
- [PATCH 05/10] vm-engine: remove register assignments, Andy Wingo, 2013/05/23
- [PATCH 06/10] Allow vm_engine caller to pass arguments on the stack., Andy Wingo, 2013/05/23
- [PATCH 08/10] cpp hygiene in the vm, Andy Wingo, 2013/05/23
- [PATCH 07/10] pop-continuation abort-continuation hooks pass return vals directly, Andy Wingo, 2013/05/23
- [PATCH 09/10] refactor to resolve_variable, Andy Wingo, 2013/05/23
- [PATCH 10/10] add new rtl vm, Andy Wingo, 2013/05/23
- Re: [PATCH 10/10] add new rtl vm,
Ludovic Courtès <=