1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-05-14 01:30:19 +02:00
guile/module/system/vm
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
..
coverage.scm add source:line-for-user, returning a 1-indexed line number 2010-10-01 18:15:23 +02:00
elf.scm add elf parser and linker 2012-06-22 13:40:46 +02:00
frame.scm fix more assumptions that the frame-procedure is a procedure 2012-05-11 14:30:43 +02:00
inspect.scm more define-syntax-rule usage 2011-09-02 11:36:14 +02:00
instruction.scm rename libguile to libguile-@EFFECTIVE_VERSION@, currently libguile-2.0 2010-03-16 21:20:34 +01:00
objcode.scm instead of our custom .go format, use elf 2012-06-22 13:40:50 +02:00
program.scm add program-sources-pre-retire to core and define frame-next-source 2010-10-08 12:31:56 +02:00
trace.scm fix tracing of mv returns 2010-10-08 12:31:56 +02:00
trap-state.scm stepping traps use frame-next-source, not frame-source 2010-10-08 12:31:56 +02:00
traps.scm add program-sources-pre-retire to core and define frame-next-source 2010-10-08 12:31:56 +02:00
vm.scm add call-with-vm; remove thread-vm bits; remove vm-apply; engines settable. 2010-09-27 21:12:29 +02:00