[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".
http://git.savannah.gnu.org/cgit/guile.git/commit/?id=e765d5ed50c4d9d0832bb14f143f2a13c22bc280
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/Makefile.am:
* 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"
compilations.
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
programs".
* libguile/vm.c (rtl_boot_continuation): Define a boot program.
* libguile/frames.c (scm_frame_num_locals): Adapt for frames of RTL
programs.
* libguile/frames.h: Add support for RTL frames, in which we abuse the
MVRA.
* 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.
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
directly.
* 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
POP_CONTINUATION_HOOK change.
* 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-to-procedure):
(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/Makefile.am: Adapt.
-----------------------------------------------------------------------
hooks/post-receive
--
GNU Guile
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Guile-commits] GNU Guile branch, wip-rtl, created. v2.1.0-322-ge765d5e,
Andy Wingo <=