1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-05-28 16:00:22 +02:00
guile/test-suite/tests
Andy Wingo 28b119ee3d make sure all programs are 8-byte aligned
* libguile/objcodes.c (OBJCODE_COOKIE): Bump objcode cookie, as we added
  to struct scm_objcode.
* libguile/objcodes.h (struct scm_objcode): Add a uint32 after metalen
  and before base, so that if the structure has 8-byte alignment, base
  will have 8-byte alignment too. (Before, base was 12 bytes from the
  start of the structure, now it's 16 bytes.)

* libguile/vm-engine.h (ASSERT_ALIGNED_PROCEDURE): Add a check that can
  be turned on with VM_ENABLE_PARANOID_ASSERTIONS.
  (CACHE_PROGRAM): Call ASSERT_ALIGNED_PROCEDURE.

* libguile/vm-i-system.c (long-local-ref): Add a missing semicolon.

* libguile/vm.c (really_make_boot_program): Rework to operate directly
  on a malloc'd buffer, so that the program will be 8-byte aligned.

* module/language/assembly.scm (*program-header-len*): Add another 4 for
  the padding.
  (object->assembly): Fix case in which we would return (make-int8 0)
  instead of (make-int8:0). This would throw off compile-assembly.scm's
  use of addr+.

* module/language/assembly/compile-bytecode.scm (write-bytecode): Write
  out the padding int.

* module/language/assembly/decompile-bytecode.scm (decode-load-program):
  And pop off the padding int too.

* module/language/glil/compile-assembly.scm (glil->assembly): Don't pack
  the assembly, assume that assembly.scm has done it for us. If a
  program has a meta, pad out the program so that meta will be aligned.

* test-suite/tests/asm-to-bytecode.test: Adapt to expect programs to
  have the extra 4-byte padding int.
2009-07-26 12:57:11 +02:00
..
c-api *** empty log message *** 2003-04-07 01:58:47 +00:00
alist.test Change Guile license to LGPLv3+ 2009-06-17 00:22:09 +01:00
and-let-star.test Change Guile license to LGPLv3+ 2009-06-17 00:22:09 +01:00
arbiters.test Change Guile license to LGPLv3+ 2009-06-17 00:22:09 +01:00
asm-to-bytecode.test make sure all programs are 8-byte aligned 2009-07-26 12:57:11 +02:00
bit-operations.test Enclose `bit-operations.test' in its own module. 2009-07-05 23:46:34 +02:00
bytevectors.test run bytevectors tests under the compiler and evaluator 2009-06-26 12:42:10 +02:00
c-api.test Change Guile license to LGPLv3+ 2009-06-17 00:22:09 +01:00
chars.test Reinstate lines removed by mistake from chars.test 2009-06-17 21:35:31 +01:00
common-list.test Change Guile license to LGPLv3+ 2009-06-17 00:22:09 +01:00
compiler.test Change Guile license to LGPLv3+ 2009-06-17 00:22:09 +01:00
continuations.test Change Guile license to LGPLv3+ 2009-06-17 00:22:09 +01:00
dynamic-scope.test Change Guile license to LGPLv3+ 2009-06-17 00:22:09 +01:00
elisp.test Change Guile license to LGPLv3+ 2009-06-17 00:22:09 +01:00
environments.test Change Guile license to LGPLv3+ 2009-06-17 00:22:09 +01:00
eval.test Change Guile license to LGPLv3+ 2009-06-17 00:22:09 +01:00
exceptions.test Change Guile license to LGPLv3+ 2009-06-17 00:22:09 +01:00
filesys.test Change Guile license to LGPLv3+ 2009-06-17 00:22:09 +01:00
format.test Change Guile license to LGPLv3+ 2009-06-17 00:22:09 +01:00
fractions.test Change Guile license to LGPLv3+ 2009-06-17 00:22:09 +01:00
ftw.test Change Guile license to LGPLv3+ 2009-06-17 00:22:09 +01:00
gc.test Change Guile license to LGPLv3+ 2009-06-17 00:22:09 +01:00
getopt-long.test Change Guile license to LGPLv3+ 2009-06-17 00:22:09 +01:00
goops.test Change Guile license to LGPLv3+ 2009-06-17 00:22:09 +01:00
guardians.test Change Guile license to LGPLv3+ 2009-06-17 00:22:09 +01:00
hash.test Change Guile license to LGPLv3+ 2009-06-17 00:22:09 +01:00
hooks.test Change Guile license to LGPLv3+ 2009-06-17 00:22:09 +01:00
i18n.test Change Guile license to LGPLv3+ 2009-06-17 00:22:09 +01:00
import.test Change Guile license to LGPLv3+ 2009-06-17 00:22:09 +01:00
interp.test Change Guile license to LGPLv3+ 2009-06-17 00:22:09 +01:00
list.test Change Guile license to LGPLv3+ 2009-06-17 00:22:09 +01:00
load.test Change Guile license to LGPLv3+ 2009-06-17 00:22:09 +01:00
modules.test Change Guile license to LGPLv3+ 2009-06-17 00:22:09 +01:00
multilingual.nottest Change Guile license to LGPLv3+ 2009-06-17 00:22:09 +01:00
numbers.test Read complex numbers where both parts are inexact decimals 2009-07-01 19:43:55 +01:00
optargs.test Change Guile license to LGPLv3+ 2009-06-17 00:22:09 +01:00
options.test Change Guile license to LGPLv3+ 2009-06-17 00:22:09 +01:00
pairs.test Change Guile license to LGPLv3+ 2009-06-17 00:22:09 +01:00
poe.test Change Guile license to LGPLv3+ 2009-06-17 00:22:09 +01:00
popen.test Change Guile license to LGPLv3+ 2009-06-17 00:22:09 +01:00
ports.test Change Guile license to LGPLv3+ 2009-06-17 00:22:09 +01:00
posix.test Change Guile license to LGPLv3+ 2009-06-17 00:22:09 +01:00
procprop.test Change Guile license to LGPLv3+ 2009-06-17 00:22:09 +01:00
q.test Change Guile license to LGPLv3+ 2009-06-17 00:22:09 +01:00
r4rs.test Change Guile license to LGPLv3+ 2009-06-17 00:22:09 +01:00
r5rs_pitfall.test Change Guile license to LGPLv3+ 2009-06-17 00:22:09 +01:00
r6rs-ports.test Deterministic test for the r6rs-ports.test segmentation fault 2009-06-21 13:31:58 +01:00
ramap.test Change Guile license to LGPLv3+ 2009-06-17 00:22:09 +01:00
reader.test Change Guile license to LGPLv3+ 2009-06-17 00:22:09 +01:00
receive.test Change Guile license to LGPLv3+ 2009-06-17 00:22:09 +01:00
regexp.test Change Guile license to LGPLv3+ 2009-06-17 00:22:09 +01:00
socket.test Change Guile license to LGPLv3+ 2009-06-17 00:22:09 +01:00
sort.test Change Guile license to LGPLv3+ 2009-06-17 00:22:09 +01:00
srcprop.test Change Guile license to LGPLv3+ 2009-06-17 00:22:09 +01:00
srfi-1.test Change Guile license to LGPLv3+ 2009-06-17 00:22:09 +01:00
srfi-4.test Change Guile license to LGPLv3+ 2009-06-17 00:22:09 +01:00
srfi-6.test Change Guile license to LGPLv3+ 2009-06-17 00:22:09 +01:00
srfi-9.test Change Guile license to LGPLv3+ 2009-06-17 00:22:09 +01:00
srfi-10.test Change Guile license to LGPLv3+ 2009-06-17 00:22:09 +01:00
srfi-11.test Change Guile license to LGPLv3+ 2009-06-17 00:22:09 +01:00
srfi-13.test Change Guile license to LGPLv3+ 2009-06-17 00:22:09 +01:00
srfi-14.test Change Guile license to LGPLv3+ 2009-06-17 00:22:09 +01:00
srfi-17.test Change Guile license to LGPLv3+ 2009-06-17 00:22:09 +01:00
srfi-18.test Change Guile license to LGPLv3+ 2009-06-17 00:22:09 +01:00
srfi-19.test Change Guile license to LGPLv3+ 2009-06-17 00:22:09 +01:00
srfi-26.test * tests/srfi-26.test: New. 2004-01-21 00:45:48 +00:00
srfi-31.test Change Guile license to LGPLv3+ 2009-06-17 00:22:09 +01:00
srfi-34.test Change Guile license to LGPLv3+ 2009-06-17 00:22:09 +01:00
srfi-35.test Change Guile license to LGPLv3+ 2009-06-17 00:22:09 +01:00
srfi-37.test Change Guile license to LGPLv3+ 2009-06-17 00:22:09 +01:00
srfi-39.test Change Guile license to LGPLv3+ 2009-06-17 00:22:09 +01:00
srfi-60.test Change Guile license to LGPLv3+ 2009-06-17 00:22:09 +01:00
srfi-69.test Change Guile license to LGPLv3+ 2009-06-17 00:22:09 +01:00
srfi-88.test Change Guile license to LGPLv3+ 2009-06-17 00:22:09 +01:00
srfi-98.test Change Guile license to LGPLv3+ 2009-06-17 00:22:09 +01:00
streams.test Change Guile license to LGPLv3+ 2009-06-17 00:22:09 +01:00
strings.test Change Guile license to LGPLv3+ 2009-06-17 00:22:09 +01:00
structs.test Change Guile license to LGPLv3+ 2009-06-17 00:22:09 +01:00
symbols.test Change Guile license to LGPLv3+ 2009-06-17 00:22:09 +01:00
syncase.test Change Guile license to LGPLv3+ 2009-06-17 00:22:09 +01:00
syntax.test Change Guile license to LGPLv3+ 2009-06-17 00:22:09 +01:00
threads.test Change Guile license to LGPLv3+ 2009-06-17 00:22:09 +01:00
time.test Change Guile license to LGPLv3+ 2009-06-17 00:22:09 +01:00
tree-il.test remove all mentions of "external" from the compiler and related code 2009-07-23 17:15:17 +02:00
unif.test Change Guile license to LGPLv3+ 2009-06-17 00:22:09 +01:00
vectors.test Change Guile license to LGPLv3+ 2009-06-17 00:22:09 +01:00
version.test Change Guile license to LGPLv3+ 2009-06-17 00:22:09 +01:00
weaks.test Change Guile license to LGPLv3+ 2009-06-17 00:22:09 +01:00