guile-commits
[Top][All Lists]
Advanced

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

[Guile-commits] 02/02: Update NEWS


From: Andy Wingo
Subject: [Guile-commits] 02/02: Update NEWS
Date: Wed, 11 Dec 2019 16:02:21 -0500 (EST)

wingo pushed a commit to branch master
in repository guile.

commit cf693d862d27a2c71cd327c7ed36d051c2d56712
Author: Andy Wingo <address@hidden>
Date:   Wed Dec 11 22:01:57 2019 +0100

    Update NEWS
    
    * NEWS: Fold 2.9.6 NEWS into 3.0 NEWS.  Add NEWS for 2.9.7.
---
 NEWS | 72 ++++++++++++++++++++++++++++----------------------------------------
 1 file changed, 30 insertions(+), 42 deletions(-)

diff --git a/NEWS b/NEWS
index e42df63..86da076 100644
--- a/NEWS
+++ b/NEWS
@@ -5,55 +5,30 @@ See the end for copying conditions.
 Please send Guile bug reports to address@hidden.
 
 
-Changes since alpha 2.9.6:
+Changes in alpha 2.9.7 (since alpha 2.9.6):
 
 * Notable changes
 
-** (iota) in core and SRFI-1 (iota) are the same
+** Improve JIT code generation
 
-Previously, (iota) in core would not accept start and step arguments and
-would return an empty list for negative count. Now there is only one
-(iota) function with the semantics of SRFI-1 (negative count is an
-error).
-
-
-Changes in alpha 2.9.6 (since alpha 2.9.5):
-
-* Notable changes
-
-** Add --r6rs, --r7rs options to `guild compile'
-
-This makes compiling R6RS or R7RS code a bit easier.  See "R6RS Support"
-and "R7RS Support" in the manual, for more.
-
-** Add guile-3, guile-3.0 cond-expand features
-
-See "SRFI-0" in the manual, for more.
-
-** Add #:re-export-and-replace argument to `define-module'
-
-This new keyword specifies a set of bindings to re-export, but also
-marks them as intended to replace core bindings.  See "Creating Guile
-Modules" in the manual, for full details.
-
-Note to make this change, we had to change the way replacement flags are
-stored, to being associated with modules instead of individual variable
-objects.  This means that users who #:re-export an imported binding that
-was already marked as #:replace by another module will now see warnings,
-as they need to use #:re-export-and-replace instead.
+Native code for unlikely or expensive cases is now generated
+out-of-line, improving instruction cache utilization.  It makes things
+go faster!
 
-** Better optimizations for vector-length et al
+** Fix JIT bug preventing tier-up within loops
 
-Sometimes the compiler get confused and think it couldn't hoist a
-`vector-length' call out of a loop.  This has been fixed.
+Before, it was possible to see significantly better performance when
+forcing eager JIT compilation using the GUILE_JIT_THRESHOLD environment
+variable; see "Environment Variables" in the manual.  This was due to a
+bug that prevented tiering up to JIT code in some cases, and has been
+fixed.
 
-* Bug fixes
+** `iota' in core and SRFI-1 `iota' are the same
 
-** Fix range inference on division in unreachable code
-** Fix frame-call-representation for callees without closures
-** Fix range inference for right-shifts
-** Fix port-position documentation
-** Fix stack overflow if printing a pre-boot error throws an error
+Previously, `iota' in core would not accept start and step arguments and
+would return an empty list for negative count. Now there is only one
+`iota' function with the extended semantics of SRFI-1.  Note that as an
+incompatible change, core `iota' no longer accepts a negative count.
 
 
 
@@ -230,6 +205,18 @@ see "R6RS Support" in the manual, for full details.
 Also as with R6RS, there is an `install-r7rs!' procedure and a `--r7rs'
 command-line option.
 
+** Add #:re-export-and-replace argument to `define-module'
+
+This new keyword specifies a set of bindings to re-export, but also
+marks them as intended to replace core bindings.  See "Creating Guile
+Modules" in the manual, for full details.
+
+Note to make this change, we had to change the way replacement flags are
+stored, to being associated with modules instead of individual variable
+objects.  This means that users who #:re-export an imported binding that
+was already marked as #:replace by another module will now see warnings,
+as they need to use #:re-export-and-replace instead.
+
 * New deprecations
 
 ** scm_t_uint8, etc deprecated in favor of C99 stdint.h
@@ -280,7 +267,8 @@ manual, for more.
 The "effective version" of Guile is now 3.0, which allows parallel
 installation with other effective versions (for example, the older Guile
 2.2).  See "Parallel Installations" in the manual for full details.
-Notably, the `pkg-config' file is now `guile-3.0'.
+Notably, the `pkg-config' file is now `guile-3.0', and there are new
+`guile-3' and `guile-3.0' features for `cond-expand'.
 
 
 



reply via email to

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