[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Guile-commits] GNU Guile branch, wip-rtl-prompts, created. v2.1.0-259-g

From: Andy Wingo
Subject: [Guile-commits] GNU Guile branch, wip-rtl-prompts, created. v2.1.0-259-gd503708
Date: Sun, 20 Oct 2013 16:11:28 +0000

This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "GNU Guile".

The branch, wip-rtl-prompts has been created
        at  d50370819a3a24fcc85554f6fa53b9a994e983d6 (commit)

- Log -----------------------------------------------------------------
commit d50370819a3a24fcc85554f6fa53b9a994e983d6
Author: Andy Wingo <address@hidden>
Date:   Sun Oct 20 18:09:52 2013 +0200

    Resumable partial continuations in the RTL VM
    * libguile/vm-engine.c (receive-values): Bugfix for the case where we
      want an exact number of values.
      (abort): Advance the IP before capturing.  The captured SP is fp - 1,
      not fp.
    * libguile/vm.c (vm_reinstate_partial_continuation): Don't push on a
      number-of-values marker.

commit 56de3a697617332b6738611fa0b926a8e9d996d7
Author: Andy Wingo <address@hidden>
Date:   Sun Oct 20 15:49:22 2013 +0200

    VM has "builtins": primitives addressable by emitted RTL code
    * libguile/
    * libguile/vm-builtins.h: New header, declaring stubs needed by the
      compiler like values, apply, and abort-to-prompt.
    * libguile/vm.c: Adapt the apply and values stubs to conform to a
      standard interface.  Add an abort-to-prompt stub.
      (scm_vm_builtin_ref): New helper, for the builtin-ref opcode.
      (scm_vm_builtin_index_to_name): New helpers, for the compiler and
      disassembler, respectively.
      (scm_init_vm_builtins, scm_bootstrap_vm): Allow the compiler helpers
      to be loaded later into a module.
    * module/language/rtl.scm: Export builtin-index->name and
    * libguile/vm-engine.c (RETURN_VALUE_LIST): Update to use new names of
      "apply" and "values".
      (abort): Update to be a tail VM op, and reorder and renumber other
      (builtin-ref): New opcode.
    * module/language/tree-il/compile-cps.scm (convert): Convert to
      'abort-to-prompt calls, possibly with 'apply, effectively undoing the
      tree-il transformation.
    * module/language/cps/reify-primitives.scm (builtin-ref): New helper.
      (reify-primitives): Convert builtin primitives to builtin-ref.
    * module/language/cps/dfg.scm (constant-needs-allocation?):
    * module/language/cps/compile-rtl.scm (emit-rtl-sequence): Add support
      for compiling builtin-ref.
    * module/system/vm/disassembler.scm (code-annotation): Add annotation
      for builtin-ref.

commit 749475bec492a61c4bbb41570eaf954e28e3fc37
Author: Andy Wingo <address@hidden>
Date:   Fri Oct 18 19:33:50 2013 +0200

    Partial continuations are RTL stubs
    * libguile/control.c: Implement partial continuations as RTL programs.
    * libguile/programs.c (scm_i_rtl_program_minimum_arity): Add partial
      continuation case.
    * libguile/vm-engine.c (compose-continuation): Fix to look for vm_cont
      from the free variables.
    * libguile/vm-i-system.c (abort): Poison continuations captured in the
      stack VM, as the can't be rewound by the RTL stubs.


GNU Guile

reply via email to

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