1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-05-28 16:00:22 +02:00
guile/module/language/assembly
Andy Wingo 97fcf583b7 jumps encoded using 24 bits, not 19; blocks no longer aligned
* libguile/_scm.h (SCM_OBJCODE_MINOR_VERSION): Bump.
* libguile/vm-i-system.c (FETCH_OFFSET, BR): Labels are no longer 8-byte
  aligned; instead, jumps are encoded into 3 bytes instead of 2.
  (br, br-if, br-if-not, br-if-eq, br-if-not-eq, br-if-null)
  (br-if-not-null, mv-call): Adapt for new length of br instructions (3
  bytes instead of 2).

* libguile/vm.c (really_make_boot_program): Adapt hand-coded bytecode
  for new offset regime.

* module/language/assembly.scm (align-block): No alignment necessary.

* module/language/assembly/compile-bytecode.scm (write-bytecode): Write
  out breaks as 24-bit relative jumps.
* module/language/assembly/decompile-bytecode.scm (decode-load-program):
  Decompile break instructions.
2009-10-16 15:56:11 +02:00
..
compile-bytecode.scm jumps encoded using 24 bits, not 19; blocks no longer aligned 2009-10-16 15:56:11 +02:00
decompile-bytecode.scm jumps encoded using 24 bits, not 19; blocks no longer aligned 2009-10-16 15:56:11 +02:00
disassemble.scm Partially revert e5f5113c21. 2009-09-24 00:06:54 +02:00
spec.scm language-readers receive environment as an arg 2009-10-16 13:39:24 +02:00