add ability to compile uniform arrays
authorAndy Wingo <wingo@pobox.com>
Fri, 5 Jun 2009 14:31:38 +0000 (16:31 +0200)
committerAndy Wingo <wingo@pobox.com>
Fri, 5 Jun 2009 14:31:38 +0000 (16:31 +0200)
commit782a82eed13abb64393f7acad92758ae191ce509
tree517a209c703d8810789dbdf3cfc23a835e21e5b1
parenta9b0f876c12bbbca9bdf1890eb014a30f004d9f8
add ability to compile uniform arrays

* module/rnrs/bytevector.scm (rnrs):
* libguile/bytevectors.h:
* libguile/bytevectors.c (scm_uniform_array_to_bytevector): New function.

* libguile/unif.h:
* libguile/unif.c (scm_from_contiguous_typed_array): New function.

* libguile/vm-i-loader.c (load-array): New instruction, for loading byte
  data into uniform vectors. Currently it copies out the data, though in
  the future we could avoid that.

* module/language/assembly.scm (align-code): New exported function,
  aligns code on some boundary.
  (align-program): Use align-code.

* module/language/assembly/compile-bytecode.scm (write-bytecode): Support
  the load-array instruction.

* module/language/glil/compile-assembly.scm (dump-object): Dump uniform
  arrays. Neat :)
libguile/bytevectors.c
libguile/bytevectors.h
libguile/unif.c
libguile/unif.h
libguile/vm-i-loader.c
module/language/assembly.scm
module/language/assembly/compile-bytecode.scm
module/language/glil/compile-assembly.scm
module/rnrs/bytevector.scm