1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-05-23 04:50:28 +02:00
guile/module/language
Andy Wingo b8bc86bce1 instead of our custom .go format, use elf
* libguile/objcodes.c: Change to expect objcode on disk to be embedded
  in ELF instead of having the funky cookie.

  (to_native_order): Use already existing SCM_BYTE_ORDER style byte
  order instead of chars.
  (bytecode_to_objcode): No need for word_size arg.
  (scm_bytecode_to_objcode, scm_objcode_to_bytecode): Take optional
  endianness arg instead of sometimes using target-endianness.
  (scm_load_objcode, scm_write_objcode, scm_bytecode_to_native_objcode):
  Remove.

* libguile/objcodes.h: Adapt.

* libguile/vm.c (scm_load_compiled_with_vm): Use
  scm_load_thunk_from_file.
  (make_boot_program): Adapt to use scm_bytecode_to_objcode with
  endianness arg.

* module/Makefile.am (OBJCODE_LANG_SOURCES): Add (language objcode
  elf).
* module/language/objcode/elf.scm: New module, embeds objcode in ELF.

* module/language/bytecode/spec.scm (compile-objcode):
  (decompile-objcode): Use (target-endianness).

* module/language/objcode/spec.scm: use (language objcode elf) for
  write-objcode.

* module/scripts/disassemble.scm (disassemble):
* module/system/repl/command.scm (disassemble-file): Use
  load-thunk-from-file.

* module/system/vm/objcode.scm: Remove load-objcode and write-objcode.

* test-suite/tests/asm-to-bytecode.test (test-target): Adapt to the new
  ELF world.
2012-06-22 13:40:50 +02:00
..
assembly Merge branch 'bt/elisp' 2012-03-05 16:52:05 -05:00
brainfuck rename <application> to <call> 2011-06-02 13:42:55 +02:00
bytecode instead of our custom .go format, use elf 2012-06-22 13:40:50 +02:00
ecmascript Merge remote-tracking branch 'origin/stable-2.0' 2012-06-22 13:18:02 +02:00
elisp length's argument is a sequence 2012-04-01 15:59:42 -04:00
glil Don't diverge when serializing cyclic lists during compilation 2012-01-14 04:39:00 -05:00
objcode instead of our custom .go format, use elf 2012-06-22 13:40:50 +02:00
scheme Merge branch 'stable-2.0' 2012-03-03 20:20:16 -05:00
tree-il Merge remote-tracking branch 'origin/stable-2.0' 2012-06-22 13:18:02 +02:00
value remove `version' field from <language> 2010-05-02 11:19:13 +02:00
assembly.scm silly "optimization" in (language assembly) 2011-05-05 11:43:12 +02:00
glil.scm prompt handlers are always inline 2010-02-19 15:30:34 +01:00
objcode.scm Change Guile license to LGPLv3+ 2009-06-17 00:22:09 +01:00
tree-il.scm Merge remote-tracking branch 'origin/stable-2.0' 2012-05-21 19:20:27 +02:00