ViewVC logotype

Contents of /src/general-info/release-19f.txt

Parent Directory Parent Directory | Revision Log Revision Log

Revision 1.24 - (show annotations)
Wed Nov 26 17:17:18 2008 UTC (5 years, 4 months ago) by rtoy
Branch: MAIN
CVS Tags: snapshot-2008-12
Changes since 1.23: +6 -1 lines
File MIME type: text/plain
o Remove the %ldb change in rev 1.164 to workaround in ticket #20.
o Delay the logand optimizer so that it runs later.  This allows type
  propagation a chance to converge before we run the logand
  optimizer.  This fixes ticket #20 and #21.  This may increase
  compilation time since the IR1 optimizations will run more often due
  to logand changes.

o Update for modular arith fixes
o Update ticket #15 since we have SSE2 now.
1 ========================== C M U C L 19 f =============================
3 [--- WORK IN PROGRESS ---]
5 The CMUCL project is pleased to announce the release of CMUCL 19f.
6 This is a major release which contains numerous enhancements and
7 bugfixes from the 19e release.
9 CMUCL is a free, high performance implementation of the Common Lisp
10 programming language which runs on most major Unix platforms. It
11 mainly conforms to the ANSI Common Lisp standard. CMUCL provides a
12 sophisticated native code compiler; a powerful foreign function
13 interface; an implementation of CLOS, the Common Lisp Object System,
14 which includes multimethods and a metaobject protocol; a source-level
15 debugger and code profiler; and an Emacs-like editor implemented in
16 Common Lisp. CMUCL is maintained by a team of volunteers collaborating
17 over the Internet, and is mostly in the public domain.
19 New in this release:
22 * Feature enhancements:
23 - ~R supports many more cardinal names.
24 - Updated network support:
25 o Added BIND-INET-SOCKET to bind a socket to a local address.
26 o Added OPEN-NETWORK-STREAM to create a stream connected to a given host.
27 o Added ACCEPT-NETWORK-STREAM to create a stream connected to
28 the new network connection
29 o Updated CONNECT-TO-INET-SOCKET to allow binding the newly
30 created socket to a local address
31 - Added UNIX:UNIX-OPENPTY, an interface to the openpty C library
32 function.
33 - SSE2 support added for x86.
34 o CMUCL automatically detects whether sse2 is supported or not
35 and loads up the appropriate core file.
36 o New -fpu switch allows the user to specify explicitly which
37 core should be used.
38 o Fasls compiled with sse2 support have the extension sse2f.
39 Otherwise, the normal x86f extension is used. This allows the
40 user to do tests/experiments with both x87 and sse2 without
41 having to mess around with different directories and removing
42 fasls before building for a different FPU.
44 * ANSI compliance fixes:
45 - Fix bug in backquote printer. If the variable is @foo, we want
46 to print ", @foo" not ",@foo". Similarly, for .foo, we want to
47 print ", .foo" instead of ",.foo".
48 - Fix merging of version in MAKE-PATHNAME. If the pathname name
49 is given, the version is not affected by the version in the
50 default pathname.
51 - RENAME-FILE now creates defaulted-new-name from merging new-name
52 with the original filespec. This is an incompatible change from
53 the previous version which created defaulted-new-name from
54 merging the new-name with the truename of filespec. Also, a
55 logical pathname should be returned if new-name is a logical
56 pathname.
57 - Character names need to be a capital letter followed by lower
58 case. Needed to match what ~:C does. (Found via ansi-tests).
60 * Bugfixes:
61 - Compiler can now derive the rank of an array, even if the array
62 is not simple.
63 - Fix off-by-one bug in ~R which prevents printing numbers from
64 10^63 to 10^66-1. 10^63 is a vigintillion.
65 - The compiler and interpreter should now handle slot-value the
66 same. Previously, different results were returned for things
67 like (slot-value foo :a).
68 - UNIX-GETGRNAM is now defined for Darwin (x86 and ppc).
69 - UNIX-GETPWUID is defined for all BSD systems.
70 - Type-derivation for EXPT no longer causes errors in some
71 situations. The computed bounds were of the wrong type for the
72 resulting type specifier.
73 - Pathname printer no longer produces an error for (MAKE-PATHNAME
74 :HOST NIL :TYPE "foo"). It returns #P(:HOST NIL :TYPE "foo")
75 now.
76 - Type derivation for DOUBLE-DOUBLE-FLOAT arithmetic should be
77 working. Previously, all arithmetic operations would just
78 return DOUBLE-DOUBLE-FLOAT even though the compiler should have
79 been able to figure out a tighter result.
80 - When SCALE-FLOAT would underflow, it would always return 0f0,
81 instead of a floating-point zero of the correct type.
82 - Fix some issues in creating the debug arglist string when the
83 arglist contains items that can't be printed readably.
84 - DIRECTORY is now faster for directories with a large number of
85 files.
86 - RANDOM is now much faster on all platforms for numbers upto
87 #xffffffff. This is an incompatible change from previous
88 releases because the numbers produced may be different from
89 before.
90 - The small bias in RANDOM for integer args up to 32 bits long
91 should now be gone.
92 - Improved type derivation for LOGAND when one arg is bounded but
93 the other is not.
94 - Some issues with tracing on sparc and ppc have been fixed. This
95 usually manifests itself with a segfault just after the function
96 result is printed.
97 - Fixed bug on sparc where C-c sometimes causes a segfault. We
98 now handle the case where siginfo_t is NULL, which can also
99 happen on other architectures.
100 - The interpreter catches invalid EVAL-WHEN situations just like
101 the compiler, instead of silently ignoring them.
102 - FLOAT-PRECISION supports double-double floats.
104 * Trac Tickets:
105 - #16: Read-time hash-table issue
106 Fixed.
107 - #17: LOOP NAMED NIL has no effect
108 Fixed.
109 - #18: Modular arith bug 1
110 Fixed
111 - #19: Modular arith bug 2
112 Fixed by not doing modular arith if the args are known to be
113 fixnums.
114 - #20: Modular arith bug?
115 Fixed via the fix for Trac #21. The original workaround has
116 been removed.
117 - #24: Float contagion for expt
118 Float contagion is applied to the arguments before computing
119 expt.
120 - #21: Modular arith bug 3
121 Fixed by delaying the logand defoptimizer.
122 - #15: x86 double-float issue
123 Fixed when using SSE2 support. We will not fix this for x87.
125 * Other changes:
126 - IS1, IS2, IS3, and IS4 are recognized character names for the
127 ASCII control codes US, RS, GS, FS, respectively.
129 - When initializing a random state, try to read 627 words from
130 /dev/urandom to initialize the entire state vector with random
131 bits. Previously, only one word was read.
132 - A seed of 0 is allowed in KERNEL:INIT-RANDOM-STATE.
133 - Updated User guide to include more examples of tracing.
134 - Enable gencgc page protection on x86/darwin. This can speed up
135 GC a bit. (Not measured.)
136 - Bignum truncate is significantly faster. Some cl-bench
137 benchmarks are now almost twice as fast.
138 - The continuable error produced by raising an integer to a power
139 exceeding *intexp-maximum-exponent* is now a restart, giving the
140 user the option to continue and update the limit to the new
141 power.
143 * Improvements to the PCL implementation of CLOS:
144 - The compiler and interpreter should handle SLOT-VALUE the same
145 way. Previously, (SLOT-VALUE obj :a) would behave differently
146 in the compiler and interpreter.
147 - Some issues with get-accessor-method-function and
148 slot-value-using-class have been fixed.
149 Get-accessor-method-function was causing an error to be signaled
150 incorrectly.
152 * Changes to building procedure:
154 This release is not binary compatible with code compiled using CMUCL
155 19e; you will need to recompile FASL files.
157 See <URL:http://www.cons.org/cmucl/> for download information,
158 guidelines on reporting bugs, and mailing list details.
161 We hope you enjoy using this release of CMUCL!

  ViewVC Help
Powered by ViewVC 1.1.5