[Top][All Lists]

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

[Guile-commits] GNU Guile branch, wip-rtl, created. v2.1.0-322-ge765d5e

From: Andy Wingo
Subject: [Guile-commits] GNU Guile branch, wip-rtl, created. v2.1.0-322-ge765d5e
Date: Fri, 22 Jun 2012 16:52:20 +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 has been created
        at  e765d5ed50c4d9d0832bb14f143f2a13c22bc280 (commit)

- Log -----------------------------------------------------------------
commit e765d5ed50c4d9d0832bb14f143f2a13c22bc280
Author: Andy Wingo <address@hidden>
Date:   Sat Jun 9 18:26:27 2012 +0200

    add DWARF parser
    * module/
    * module/system/vm/dwarf.scm: New module, a DWARF parser.

commit 480cdc21c8024ed65470dfb9084fd7e22bc668a3
Author: Andy Wingo <address@hidden>
Date:   Mon May 28 12:37:56 2012 +0200

    add (system vm rtl)
    * module/system/vm/rtl.scm: New module, implementing an assembler and
      disassembler for RTL.  Currently the output format is ELF, though we
      will provide a version with less boilerplate for use in "online"

commit f60b8a298c0ed5ed8b00ea1aa2c571de68b58706
Author: Andy Wingo <address@hidden>
Date:   Mon May 28 12:22:31 2012 +0200

    add new rtl vm
    * 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):
    * module/system/vm/program.scm: Add constructors for the new "RTL
    * libguile/vm.c (rtl_boot_continuation): Define a boot program.
    * libguile/frames.c (scm_frame_num_locals): Adapt for frames of RTL
    * libguile/frames.h: Add support for RTL frames, in which we abuse the
    * libguile/ 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
    * libguile/objcodes.c: Wire up the bits needed to detect the new RTL
      bytecode and load it, as appropriate.

commit 1aa4ccbbbe7bec2208d6ba4edf99130fb3139245
Author: Andy Wingo <address@hidden>
Date:   Mon May 28 12:25:43 2012 +0200

    refactor to resolve_variable
    * libguile/vm.c (resolve_variable): Slight refactor.

commit 64958206b9b3989f9d713677d8d6587c94653247
Author: Andy Wingo <address@hidden>
Date:   Mon May 28 12:25:13 2012 +0200

    slight change to vm_error_wrong_num_args
    * libguile/vm.c (vm_error_wrong_num_args): Take the number of arguments
    * libguile/vm-i-system.c (assert_nargs_ee, assert_nargs_ge)
      (assert_nargs_ee_locals): Adapt to vm_error_wrong_num_args change.

commit 24e39bd753dbd00d776a512d9ff41327a4dd3a52
Author: Andy Wingo <address@hidden>
Date:   Thu May 17 18:35:05 2012 +0200

    cpp hygiene in the vm
    * libguile/vm-engine.c:
    * libguile/vm-i-scheme.c:
    * libguile/vm-i-system.c: CPP hygiene: the code that #defines, #undefs.
      Makes things cleaner given the multiple inclusion dance we do.

commit c0c08486478827d9bf59590a80dc69bd8f155f50
Author: Andy Wingo <address@hidden>
Date:   Fri May 18 12:23:58 2012 +0200

    pop-continuation abort-continuation hooks pass return vals directly
    * doc/ref/api-debug.texi (VM Hooks): Update documentation.
    * libguile/vm-engine.c:  Rework the hook machinery so that they can
      receive an arbitrary number of arguments.  The return and abort hooks
      will pass the values that they return to their continuations.
      (vm_engine): Adapt to ABORT_CONTINUATION_HOOK change.
    * libguile/vm-i-system.c (return, return/values): Adapt to
    * module/system/vm/frame.scm (frame-return-values): Remove.  The
      pop-continuation-hook will pass the values directly.
    * module/system/vm/trace.scm (print-return):
      (trace-calls-in-procedure): Update to receive return values directly.
    * module/system/vm/traps.scm (trap-in-procedure)
      (trap-in-dynamic-extent): Ignore return values.
      (trap-frame-finish, trap-calls-in-dynamic-extent)
      (trap-calls-to-procedure): Pass return values to the handlers.

commit 98e6f96110911043f7e29e456b5b10c18efe65c5
Author: Andy Wingo <address@hidden>
Date:   Fri May 18 12:21:33 2012 +0200

    vm-engine: remove register assignments
    * libguile/vm-engine.c: Remove the register assignments inherited from
      the 1990s.  GCC does seem to allocate reasonably on systems with
      enough registers (e.g. x86-64), and on system with too few (x86-32) we
      disabled manual allocation.  Anyway this code was never tested, so
      it's better to leave the compiler to do its own thing, until proven
      otherwise.  Also in the RTL VM there is no SP, so things are a bit
      different there.

commit ff415ddfdc3208409852b10c9e97b7ccc778223d
Author: Andy Wingo <address@hidden>
Date:   Fri May 18 12:21:08 2012 +0200

    remove some configurability in vm-engine
    * libguile/vm-engine.c: Remove the ability for the VM to check object
      access, free variable access, and the ip.  They were off by default.
      Since they will be different in the RTL VM, their presence is just
      making things confusing.

commit 59bd526467e518ff69de3506bf506c0482d43c78
Author: Andy Wingo <address@hidden>
Date:   Fri May 18 11:57:51 2012 +0200

    minor vm-engine cleanups
    * libguile/vm-engine.c: Some very minor cleanups: indenting, use of
      VM_ASSERT, commenting.

commit 25513a40863add6cb856eba50c1fa344b93dc26f
Author: Andy Wingo <address@hidden>
Date:   Thu May 17 11:39:35 2012 +0200

    remove CONS macro in VM; use scm_cons instead
    * libguile/vm-engine.c (CONS): Remove.  Callers should use scm_cons
      instead, syncing registers beforehand.
      (POP_LIST): Adapt, only synchronizing once.
      (POP_LIST_MARK, POP_CONS_MARK): Remove unused macros.
    * libguile/vm-i-scheme.c (cons):
    * libguile/vm-i-system.c (push-rest, bind-rest): Adapt.

commit 2098a00d852a2551db576f914f5902676508f14f
Author: Andy Wingo <address@hidden>
Date:   Fri May 18 11:52:12 2012 +0200

    inline vm-engine.h into vm-engine.c
    * libguile/vm-engine.h:
    * libguile/vm-engine.c: Fold vm-engine.h into vm-engine.c.
    * libguile/ Adapt.


GNU Guile

reply via email to

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