guile-devel
[Top][All Lists]
Advanced

[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’.




reply via email to

[Prev in Thread] Current Thread [Next in Thread]