guile-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Guile-commits] 01/03: Update NEWS.


From: Andy Wingo
Subject: [Guile-commits] 01/03: Update NEWS.
Date: Tue, 6 Dec 2016 22:26:51 +0000 (UTC)

wingo pushed a commit to branch master
in repository guile.

commit 8e20a991a9e585ff04697cf418752c8bb70b3a34
Author: Andy Wingo <address@hidden>
Date:   Tue Dec 6 22:33:38 2016 +0100

    Update NEWS.
    
    * NEWS: Update.
---
 NEWS |   25 ++++++++++++++++++++++---
 1 file changed, 22 insertions(+), 3 deletions(-)

diff --git a/NEWS b/NEWS
index 809f5ac..9a364cc 100644
--- a/NEWS
+++ b/NEWS
@@ -9,7 +9,26 @@ Please send Guile bug reports to address@hidden
 Changes in 2.1.5 (changes since the 2.1.4 alpha release):
 
 * Notable changes
-* New interfaces
+** Lightweight pre-emptive threading primitives
+
+The compiler now inserts special "handle-interrupts" opcodes before each
+call, return, and loop back-edge.  This allows the user to interrupt any
+computation and to accurately profile code using interrupts.  It used to
+be that interrupts were run by calling a C function from the VM; now
+interrupt thunks are run directly from the VM.  This allows interrupts
+to save a delimited continuation and, if the continuation was
+established from the same VM invocation (the usual restriction), that
+continuation can then be resumed.  In this way users can implement
+lightweight pre-emptive threading facilities.
+
+** with-dynamic-state in VM
+
+Similarly, `with-dynamic-state' no longer recurses out of the VM,
+allowing captured delimited continuations that include a
+`with-dynamic-state' invocation to be resumed.  This is a precondition
+to allow lightweight threading libraries to establish a dynamic state
+per thread.
+
 * Performance improvements
 ** Mutexes are now faster under contention
 
@@ -96,8 +115,8 @@ dynamic state simply captures the current values, and calling
 `with-dynamic-state' copies those values into the Guile virtual machine
 instead of aliasing them in a way that could allow them to be mutated in
 place.  This change allows Guile's fluid variables to be thread-safe.
-To capture the locations of a dynamic state, use partial continuations
-instead.
+To capture the locations of a dynamic state, capture a
+`with-dynamic-state' invocation using partial continuations instead.
 
 * New deprecations
 ** Arbiters deprecated



reply via email to

[Prev in Thread] Current Thread [Next in Thread]