Changeset 5633
- Timestamp:
- Dec 20, 2006, 12:08:16 PM (18 years ago)
- File:
-
- 1 edited
-
trunk/ccl/ChangeLog (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
trunk/ccl/ChangeLog
r5562 r5633 1 2006-12-19 01:24 gb 2 3 * library/parse-ffi.lisp: Just to be on the safe side (new pathname 4 bugs, or old ?), append -BAK to (NAMESTRING (TRUENAME path)), not 5 just (NAMESTRING path) when renaming. (MERGE-PATHNAMES call is 6 producing a pathane with a non-null VERSION component, as it 7 arguably should have been all along. 8 9 2006-12-18 13:22 gb 10 11 * lib/sequences.lisp: COERCE/MAKE-SEQUENCE try to simplify vector 12 types into concrete vector types. 13 14 2006-12-18 13:04 gb 15 16 * level-1/l1-pathnames.lisp: Try (halfheartedly) to maintain 17 PATHNAME-VERSION of physical pathnames. (Totally meaningless, but 18 failing to do this leads to many test failures.) 19 20 2006-12-18 13:03 gb 21 22 * level-1/l1-numbers.lisp: Don't call out to do sqrt. 23 24 2006-12-18 12:57 gb 25 26 * level-1/l1-files.lisp: Try (halfheartedly) to maintain 27 PATHNAME-VERSION of physical pathnames. (Totally meaningless, but 28 failing to do this leads to many test failures.) 29 30 2006-12-18 12:54 gb 31 32 * level-0/X86/x86-float.lisp: Do single/double-float sqrt inline. 33 34 2006-12-16 05:28 gb 35 36 * level-0/PPC/ppc-float.lisp: Recognize that fsqrt/fsqrts 37 instructions have a minor opcode in frb and only have one source 38 operand. 39 40 2006-12-16 05:27 gb 41 42 * level-1/ppc-error-signal.lisp: If we get an FP exception during a 43 SQRT, note that there's only one operand and that it's in frb. 44 45 2006-12-16 05:25 gb 46 47 * lisp-kernel/ppc-exceptions.c: Handle (some) unimplemented 48 instructions, notably fsqrt/fqrts, which are optional and not 49 implemented on some PPC machines. 50 51 2006-12-16 05:24 gb 52 53 * lisp-kernel/ppc-asmutils.s: Add get_fpscr(). 54 55 2006-12-14 19:47 gb 56 57 * lisp-kernel/ppc-exceptions.c: Need to handle SIGQUIT on ppc, too. 58 59 2006-12-14 16:43 gb 60 61 * compiler/X86/X8664/x8664-vinsns.lisp: Constraints on some 62 double-float arithmetic vinsns should say :double-float, not 63 :single-float. (I suspect cut-and-paste, frankly.) 64 65 2006-12-14 16:25 gb 66 67 * level-1/l1-lisp-threads.lisp: *initial-lisp-thread*, not 68 initial-thread. 69 70 2006-12-14 16:24 gb 71 72 * level-1/x86-trap-support.lisp: Use frame pointer when signaling 73 error. 74 75 2006-12-14 16:14 gb 76 77 * library/lispequ.lisp: Add a %PHYSICAL-PATHAME-VERSION slot to 78 physical pathnames. (Yes, this is kind of silly.) 79 80 2006-12-14 16:01 gb 81 82 * level-1/x86-trap-support.lisp: Recognize the kernel's attempt to 83 signal errors for (e.g.) failed memory allocation. 84 85 2006-12-14 16:00 gb 86 87 * lisp-kernel/x86-exceptions.c: If a memory allocation request 88 fails, signal a lisp error (what a concept.) 89 90 2006-12-14 15:51 gb 91 92 * lisp-kernel/x86-exceptions.h: Define DARWIN_USE_PSEUDO_SIGRETURN. 93 94 Might be worth revisiting this. 95 96 2006-12-14 15:50 gb 97 98 * lisp-kernel/x86-exceptions.c: Go back to using the 99 pseudo_sigreturn mechanism on Darwin, since doing a real sigreturn 100 from a fake context may not be reliable. 101 102 When handling an interrupt with a partially created temp stack 103 frame, do the right thing. (That basically means reset the frame 104 before calling out and recreating it if we return from the 105 callout.) 106 107 Handle SIGQUIT on the altstack, to provide a way of forcibly 108 terminating threads that's a bit more GC-safe than doing it via 109 #_pthread_cancel. 110 111 Note the tcr of the gc thread on gc entry; if an exception happens 112 in that thread, print a message and sleep for 60 seconds. 113 114 Note that there's still a race condition here: if thread A gets an 115 exception and thread B gets the mach_exception_lock (to GC) before 116 the exception thread can handle the message, we deadlock (thread A 117 would be suspended in the kernel and can't respond to a suspend 118 signal.) We can tell that this has happened and make a good guess 119 as to why it happened, but dealing with it will require some 120 thought. (If we've already issued a suspend signal and eventually 121 raise the suspended thread's resume semaphore, it'll suspend and 122 resume once the mach exception thread makes it runnable. Who 123 cleans up its exception context in that case ? Does it matter ?) 124 125 2006-12-14 15:19 gb 126 127 * lisp-kernel/thread_manager.c: Ensure that newly-created threads 128 have all signals unmasked. 129 130 If a tcr is dead, ensure that its stack areas are empty. 131 132 Try to run shutdown_thread_tcr as a pthread cleanup action, 133 hopefully before Mach clobbers the thread's signal mask. 134 135 2006-12-14 15:16 gb 136 137 * lisp-kernel/pmcl-kernel.c: lazarus() runs with a lock on the 138 TCR_AREA_LOCK. 139 140 2006-12-14 15:15 gb 141 142 * lisp-kernel/memprotect.h: Don't declare do_memo_reset(), which 143 hasn't existed in years. 144 145 2006-12-14 15:14 gb 146 147 * level-1/version.lisp: Bump. 148 149 2006-12-14 15:14 gb 150 151 * level-1/l1-readloop.lisp: PREPARE-TO-QUIT: wait for the 152 termination semaphore. 153 154 2006-12-14 15:13 gb 155 156 * level-1/l1-processes.lisp: PROCESS objects are created with a 157 termination semaphore. 158 159 2006-12-14 15:12 gb 160 161 * level-1/l1-lisp-threads.lisp: THREAD-ENABLE: second arg is 162 TERMINATION-SEMAPHORE. 163 164 KILL-LISP-THREAD: don't use #_pthread_cancel, which may force the 165 target thread to transition from running lisp code to running 166 foreign code without advertising that fact. Send a SIGQUIT instead, 167 and trust the SIGQUIT handler to manage that transition. Don't try 168 to kill the initial thread. 169 170 2006-12-09 09:52 gb 171 172 * level-1/l1-streams.lisp: STRING-OUTPUT-STREAMs need to override 173 their CLEAR-OUTPUT methods. 174 175 MAKE-STRING-INPUT-STREAM: handle displaced strings better (remember 176 their displaced-index-offsets.) 177 178 2006-12-09 09:49 gb 179 180 * lisp-kernel/thread_manager.c: Disable underflow traps in new 181 threads on x86-64. (The PPC never got around to enabling them.) 182 183 2006-12-09 09:47 gb 184 185 * lib/macros.lisp: WITH-OUTPUT-TO-STRING: if string provided, 186 evaluate the ELEMENT-TYPE expression (for side-effects) and ignore 187 the result of its evaluation. 188 189 Some fixes in CTYPECASE handling, which hopefully didn't break 190 anything else. 191 192 2006-12-09 09:36 gb 193 194 * compiler/X86/x862.lisp: In aset2/aset3, ensure that the (final, 195 1d) index register is set - even if the index is a constant - if we 196 think that the store needs EGC memoization. 197 198 (Note that the test case that exposed this involved storing 199 SINGLE-FLOATs, which don't need EGC write-barrier handling on 200 64-bit platforms.) 201 202 In aref2, don't worry about reserving unscaled index registers when 203 targeting the 1d index; the unscaled index registers aren't live 204 after, could be NULL if the index is a constant, and any overlap 205 between one of them and the 1d index should be handled in the 206 vinsn(s). 207 208 2006-12-09 09:30 gb 209 210 * level-1/l1-typesys.lisp: Ensure that the (relatively new) 211 built-in-classes SIMPLE-FIXNUM-VECTOR and FIXNUM-VECTOR have 212 class-translations. 213 214 2006-12-09 09:27 gb 215 216 * level-1/l1-aprims.lisp: In list case of ELT: who says that value 217 returned by NTHCDR is a LIST ? (It's not necessarily a list, so 218 don't segfault taking its CAR without checking.) 219 220 2006-12-06 18:48 gb 221 222 * level-0/X86/x86-float.lisp: x86-64 version of 223 SFLOAT-SIGNIFICAND-ZEROS: count zero bits in the shifted float, not 224 in %imm1 (which is undefined here ...) 225 226 2006-12-06 17:05 gb 227 228 * compiler/nx0.lisp: DEFINE-COMPILER-MACRO: if a SETF name, use the 229 right symbol for the named block. 230 231 COMPILER-MACRO-FUNCTION, (SETF COMPILER-MACRO-FUNCTION): deal with 232 (SETF NAME). 233 234 2006-12-05 22:44 gb 235 236 * release-notes.txt: Update for 061205. 237 238 2006-12-05 20:31 gb 239 240 * lisp-kernel/darwinppc64/Makefile: Change LDFLAGS, to keep ld64 241 from putting a linkedit segment in the wrong place and making 242 32-bit memory unmappable. 243 244 2006-12-05 20:30 gb 245 246 * level-1/version.lisp: Bump. 247 248 2006-12-05 20:29 gb 249 250 * lisp-kernel/pmcl-kernel.c: Use _exit(), just in case. 251 252 2006-12-05 18:53 gb 253 254 * level-1/l1-reader.lisp: *ALTERNATE-LINE-TERMINATOR* set to 255 #\Return on #+darwin-target, not just #+darwinppc-target. Change 256 doc string for *ALTERNATE-LINE-TERMINATOR*. 257 258 2006-12-04 15:13 gb 259 260 * level-1/version.lisp: Append a patchlevel to the version string, 261 at least until new tarballs can be built. 262 263 2006-12-04 15:12 gb 264 265 * level-1/l1-streams.lisp: If stream element type upgrades to 266 FIXNUM, upgrade it further (to largest supported SIGNED-BYTE 267 element-type.) 268 269 2006-12-04 13:02 gb 270 271 * level-0/l0-bignum32.lisp: BIGNUM-BIGNUM-GCD (whatever it's 272 called): don't bother to shift by 0 bits. Do shift the initial U 273 if non-zero trailing 0 BITS (was testing for non-zero trailing 274 DIGITS.) 275 276 2006-12-04 12:52 gb 277 278 * level-1/l1-streams.lisp: Choke earlier on unsupported stream 279 element-types; do some upgrading to support some more element types 280 (BIT -> (UNSIGNED-BYTE 8)). 281 282 Maybe support arbitrarily large integer types someday soon. Maybe 283 not. 284 285 2006-12-04 12:48 gb 286 287 * level-1/l1-clos-boot.lisp: Make built-in classes for istruct 288 types (compiler stuff, mostly). 289 290 2006-12-04 12:46 gb 291 292 * level-0/X86/X8664/x8664-bignum.lisp: Ensure that %ASHL handles 293 shift count of 32 (and returns 0 in that case.) 294 295 2006-12-04 12:46 gb 296 297 * level-0/l0-bignum64.lisp: In BIGNUM-SHIFT-RIGHT-LOOP-1, use 298 %ASHL, not %ILSL. (Don't want nonsense in the high 32 bits, just 299 in case.) 300 301 2006-12-04 12:43 gb 302 303 * level-0/l0-numbers.lisp: Bugs in GCD-2. Long-standing bugs in 304 GCD-2 ... 305 306 2006-12-04 09:26 gb 307 308 * level-1/l1-streams.lisp: STREAM-CLEAR-INPUT: don't inherit method 309 for STRING-INPUT-STREAMs. 310 311 2006-12-04 09:24 gb 312 313 * level-0/l0-bignum64.lisp: BIGNUM-SHIFT-RIGHT-1: handle shift by 0 314 bits. BIGNUM-BIGNUM-GCD (whatever it's called): don't bother to 315 shift by 0 bits. 316 317 2006-12-04 09:21 gb 318 319 * level-1/ppc-trap-support.lisp: Reset error-reentry count before 320 doing %SLOT-UNBOUND-TRAP. 321 322 2006-12-04 09:21 gb 323 324 * level-1/l1-streams.lisp: Default STREAM-POSITION method for 325 STREAMs, returns NIL. STREAM-POSITION method for 326 STRING-INPUT-STREAMs. 327 328 2006-12-04 09:19 gb 329 330 * level-1/l1-pathnames.lisp: Derive ccl-directory from pathname 331 containing heap image. 332 333 2006-12-03 07:41 gb 334 335 * level-1/l1-streams.lisp: FORCE-OUTPUT, FINISH-OUTPUT on 336 STRING-OUTPUT-STREAMs are no-ops. 337 338 Need an ioblock-based character-read-vector function for 339 string-input-streams. 340 341 2006-12-03 07:37 gb 342 343 * lib/describe.lisp: Minimal DESCRIBE support for 344 CCL::BASIC-STREAM. 345 346 2006-12-03 07:36 gb 347 348 * lib/macros.lisp: If :element-type is supplied in 349 WITH-OUTPUT-TO-STRING, don't quote it. 350 351 2006-12-03 05:11 gb 352 353 * level-1/x86-trap-support.lisp: Define RIP-REGISTER-OFFSET, which 354 isn't necessarily 16. 355 356 2006-12-03 05:10 gb 357 358 * level-1/x86-error-signal.lisp: Use RIP-REGISTER-OFFSET, which 359 isn't necessarily 16. 360 361 Use WITH-ERROR-REENTRY-DETECTION n %xerr-disp; dtrt for 362 %slot-unbound-trap. 363 364 2006-12-03 05:09 gb 365 366 * level-1/l1-streams.lisp: Tweak stream hierarchy a little, to 367 avoid some NO-NEXT-METHODs. 368 369 2006-12-03 02:42 gb 370 371 * compiler/nx1.lisp: Handle VALUES type specifiers in THE forms a 372 bit better. 373 374 2006-12-03 02:41 gb 375 376 * compiler/nx0.lisp: Handle VALUES type specifiers in THE forms a 377 bit. 378 379 2006-12-03 02:28 gb 380 381 * lisp-kernel/x86-spentry64.s: Do vector bounds checking by 382 clearing the low byte of the header, shifting it right, and 383 comparing the index to that. (It's not reliable to shift the index 384 left.) 385 386 2006-12-03 02:26 gb 387 388 * level-1/l1-unicode.lisp: Memory/vector encode functions: don't 389 write BOM, leave that up to higher-level code. 390 391 Start to write some higher-level code. 392 393 2006-12-03 02:23 gb 394 395 * level-1/l1-sysio.lisp: Fix some indentation. 396 397 2006-12-03 02:21 gb 398 399 * compiler/X86/X8664/x8664-vinsns.lisp: CHECK-MISC-BOUNDS: shift 400 the header word right (after clearing its low byte) and compare the 401 index to that. (Shifting the index left - d'oh - obviously fails 402 for indices of large magnitude.) 403 404 2006-11-29 21:07 gb 405 406 * lib/db-io.lisp: Indentation change. 407 408 Add CDB-ENUMERATE-KEYS. 409 410 2006-11-29 18:37 gb 411 412 * lib/level-2.lisp: %DESTRUCTURE-LAMBDA-LIST: other callers of 413 VERIFY-LAMBDA-LIST (hopefully) check to see if the alleged list is 414 LISTP first. (I hope ...). Do so. 415 416 2006-11-28 18:42 gb 417 418 * lisp-kernel/x86-spentry64.s: Wrong register typo in .SPaset2. 419 420 2006-11-28 16:14 gb 421 422 * examples/cocoa-window.lisp: DEFAULT-FONT: retain the font. 423 424 2006-11-28 16:12 gb 425 426 * examples/objc-runtime.lisp: Wrap a (primitive) 427 WITH-AUTORELEASE-POOL around the code which detaches the dummy 428 NSThread. 429 430 2006-11-28 16:09 gb 431 432 * examples/cocoa-listener.lisp: Don't claim that a callback 433 parameter is ignored; use IGNORABLE instead. 434 1 435 2006-11-21 01:28 gb 2 436
Note:
See TracChangeset
for help on using the changeset viewer.
