1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-06-04 19:20:27 +02:00
guile/module/system/vm
Andy Wingo 4c906ad5a5 Add specialize-primcalls pass; bump objcode version.
* libguile/_scm.h (SCM_OBJCODE_MINOR_VERSION): Bump.

* libguile/objcodes.c (process_dynamic_segment): Expect the minor
  version to be present and, while we are still banging on the VM,
  exactly equal to SCM_OBJCODE_MINOR_VERSION.

* libguile/vm-engine.c: Renumber ops.  Remove the general make-vector.
  Rename constant-FOO to FOO/immediate.  Remove struct-ref and
  struct-set!, replace with struct-ref/immediate and
  struct-set!/immediate.

* module/Makefile.am:
* module/language/cps/specialize-primcalls.scm: New pass, inlines FOO to
  FOO/immediate -- e.g. vector-ref to vector-ref/immediate.

* module/language/cps/arities.scm: Remove struct-set! case, now that
  there is no struct-set! opcode.

* module/language/cps/compile-rtl.scm (compile-fun): Remove dispatch to
  constant-FOO versus FOO here -- that decision is made by
  specialize-primcalls.
  (optimize): Add specialize-primcalls pass.

* module/language/cps/dfg.scm (constant-needs-allocation?): Adapt to
  name changes.

* module/language/tree-il/primitives.scm (*interesting-primitive-names*):
  (*primitive-constructors*): Add allocate-struct.

* module/system/vm/assembler.scm (*bytecode-major-version*):
  (*bytecode-minor-version*, link-dynamic-section): Write minor version
  into resulting image.
2013-11-10 19:27:19 +01:00
..
assembler.scm Add specialize-primcalls pass; bump objcode version. 2013-11-10 19:27:19 +01:00
coverage.scm frame-instruction-pointer is absolute; rewrite (system vm coverage) 2013-11-07 23:03:45 +01:00
debug.scm Binary search to find procedure properties. 2013-11-09 16:25:12 +01:00
disassembler.scm Add fold-program-code to (system vm disassembler) 2013-11-08 15:58:27 +01:00
dwarf.scm DWARF return arity fixen 2013-10-29 22:53:46 +01:00
elf.scm Add runtime support for reading debug information from ELF 2013-06-09 19:50:30 +02:00
frame.scm Remove stack programs, objcode, and the old VM. 2013-11-08 18:28:24 +01:00
inspect.scm Remove assembly language. 2013-11-08 16:45:10 +01:00
instruction.scm Remove stack programs, objcode, and the old VM. 2013-11-08 18:28:24 +01:00
linker.scm linker string tables are stateful objects 2013-06-09 16:04:12 +02:00
objcode.scm Miscellaneous fixups related to objcode removal. 2013-11-08 17:42:54 +01:00
program.scm Remove stack programs, objcode, and the old VM. 2013-11-08 18:28:24 +01:00
trace.scm Per-instruction tracing doesn't try to disassemble stack VM code 2013-11-08 17:32:41 +01:00
trap-state.scm Program sources are always pre-retire now 2013-11-07 18:00:40 +01:00
traps.scm (system vm traps) support for rtl programs 2013-11-08 17:31:51 +01:00
vm.scm add call-with-vm; remove thread-vm bits; remove vm-apply; engines settable. 2010-09-27 21:12:29 +02:00