1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-05-22 20:40:29 +02:00
guile/module/language
Andy Wingo ac47d5f639 avoid 8 words of allocation per lambda, whoooo
* libguile/objcodes.c (scm_bytecode_to_objcode): Check that the length of
  the vector matches the length embedded in the bytecode.

* libguile/programs.c (scm_program_meta): Call through to
  scm_objcode_meta, instead of looking in the object table. Avoids
  consing up a program+objcode slice for the meta until the meta is
  actually called.

* libguile/vm-i-loader.c (load-program): Step past the metadata too.

* module/language/glil/compile-assembly.scm (make-meta): Just return the
  load-program form, or #f.
  (assoc-ref-or-acons, object-index-and-alist, make-object-table): Don't
  write the meta into the object table.
  (glil->assembly): Instead write the meta into the load-program form.
2009-02-01 10:50:45 +01:00
..
assembly add code for writing out metadata to the end of a program 2009-02-01 10:15:00 +01:00
bytecode remove conv.scm, disasm.scm; objcode->bytecode rename 2009-01-30 14:36:49 +01:00
elisp remove .cvsignore files 2008-11-10 12:17:18 +01:00
ghil allow specification of languages by name; add decompilers to languages 2009-01-30 11:41:02 +01:00
glil avoid 8 words of allocation per lambda, whoooo 2009-02-01 10:50:45 +01:00
objcode add disassembler that fits in with old compiler tower 2009-01-30 14:12:57 +01:00
r5rs remove GPKG.def files 2009-01-29 21:12:00 +01:00
scheme allow specification of languages by name; add decompilers to languages 2009-01-30 11:41:02 +01:00
value nifty generic compiler infrastructure -- no more hardcoded passes 2008-11-14 22:42:31 +01:00
assembly.scm add code for writing out metadata to the end of a program 2009-02-01 10:15:00 +01:00
ghil.scm remove useless <glil-vars> helper type, serialize GHIL more strictly 2009-01-11 12:09:19 +01:00
glil.scm static opcodes; refactor program/objcode division; use new assembly pipeline 2009-01-29 21:12:00 +01:00
Makefile.am add new language between assembly and objcode: bytecode 2009-01-30 10:20:08 +01:00
objcode.scm static opcodes; refactor program/objcode division; use new assembly pipeline 2009-01-29 21:12:00 +01:00