1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-05-20 11:40:18 +02:00
guile/module
Andy Wingo 32f309d5ce Compiler support for atomics
* doc/ref/vm.texi (Inlined Atomic Instructions): New section.
* libguile/vm-engine.c (VM_VALIDATE_ATOMIC_BOX, make-atomic-box)
  (atomic-box-ref, atomic-box-set!, atomic-box-swap!)
  (atomic-box-compare-and-swap!): New instructions.
* libguile/vm.c: Include atomic and atomics-internal.h.
  (vm_error_not_a_atomic_box): New function.
* module/ice-9/atomic.scm: Register primitives with the compiler.
* module/language/cps/compile-bytecode.scm (compile-function): Add
  support for atomic ops.
* module/language/cps/effects-analysis.scm: Add comment about why no
  effects analysis needed.
* module/language/cps/reify-primitives.scm (primitive-module): Add case
  for (ice-9 atomic).
* module/language/tree-il/primitives.scm (*effect-free-primitives*):
  (*effect+exception-free-primitives*): Add atomic-box?.
* module/system/vm/assembler.scm: Add new instructions.

* test-suite/tests/atomic.test: Test with compilation and
  interpretation.
2016-09-06 12:18:35 +02:00
..
ice-9 Compiler support for atomics 2016-09-06 12:18:35 +02:00
language Compiler support for atomics 2016-09-06 12:18:35 +02:00
oop Add atomic boxes 2016-09-06 11:16:53 +02:00
rnrs Implement R6RS custom binary input/output ports 2016-08-04 22:29:51 +02:00
scripts Wire up `guild compile -O0 foo.scm' 2015-10-22 17:44:17 +00:00
srfi SRFI-19: Update the table of leap seconds. 2016-05-22 20:02:37 +02:00
sxml Remove duplicate definitions of call/ec' and let/ec'. 2013-04-06 15:40:19 +02:00
system Compiler support for atomics 2016-09-06 12:18:35 +02:00
texinfo Fix texinfo->html for @acronym, @itemize 2016-06-24 17:09:39 +02:00
web ETag list headers accept sloppy etags 2016-08-28 13:48:42 +02:00
Makefile.am Add atomic boxes 2016-09-06 11:16:53 +02:00
rnrs.scm Add R6RS bytevector->string, string->bytevector 2016-06-21 11:29:14 +02:00
statprof.scm Update statprof documentation; deprecate `with-statprof' 2016-02-01 15:12:36 +01:00
texinfo.scm texinfo: fix @url{@@} parsing 2014-11-09 15:56:33 +00:00