- Jan 14, 2016
-
-
Raymond Toy authored
-
- Jan 13, 2016
-
-
Raymond Toy authored
Put an unwind-protect around the error calls. The cleanup form restores the floating-point modes from the sigcontext so that the mode is restored. This is needed, I think, because we throw so that the signal handler doesn't return so the sigcontext isn't restored. If we don't restore the fpu state, it's set to the default processor state. We want the default state when calling error. In this way, things like (* 1d300 1d300) signals an overflow, and when we throw to top-level, the floating-point modes are restored to their original values they had before.
-
- Jan 10, 2016
-
-
Raymond Toy authored
We just want to return the original modes, so remove all the old commented out stuff that was modifying the original modes to some strange state. This makes a lot more sense to me if WITH-FLOAT-TRAPS-* actually restored the modes exactly as they were before running the body.
-
Raymond Toy authored
In sigfpe-handler, don't modify the modes; just use whatever they are. (They should be the default values.) In with-float-traps-*, actually just restore the floating-point mode to the exact original mode instead of trying to mask things out.
-
Raymond Toy authored
Don't restore the fpu state from the context in the interrupt handler code (interrupt_handle_now) because that just makes the fpu state the same as the sigcontext that received the exception. I think this was done to reset the x87 fpu precision to 53-bit so that lisp can continue with default double-float rounding. This isn't needed anymore since lisp doesn't use x87 anymore. In SIGFPE-HANDLER, don't modify the current fp state based on the state from the sigcontext. These two items cause the arithmetic-error exception printer to trigger inexact when printing out the args. We add a few debugging prints for now so we can see what the FP state is in the handler. Remove them later.
-
- Jan 07, 2016
-
-
Raymond Toy authored
If the user specifies -dynamic-space-size 0, then use the platform-specific maximum heap size. Update the docstring for the switch too.
-
- Jan 01, 2016
-
-
Raymond Toy authored
We know the result of (expt 0 power) so return it immediately without first checking if the power exceeds the limit. Also took the opportunity to add a better message to the intexp-limit-error condition to make it more explicit what is being computed and why it's failing. Tests added too.
-
Raymond Toy authored
-
- Dec 31, 2015
-
-
Raymond Toy authored
Allow search lists in pathname-match-p. For each arg, we enumerate the possible values of the search list and try to find a match between the path and the wild path. If there's a match, return true. Tests added for some cases of pathname-match-p with search lists. Fix issue #16.
-
Raymond Toy authored
-
- Dec 30, 2015
-
-
Raymond Toy authored
Fix issue #14. WITH-FLOAT-TRAPS-ENABLED was leaving the accrued (and current) exceptions unchanged, but it should have cleared out any values there that matched the exceptions to be enabled. Without this, the next x87 operation would signal an exception if an accrued exception matched an enabled exception. This was the cause of issue #14. (Note that for x87, the accrued exception is the same as current exception.)
-
Raymond Toy authored
To aid in debugging floating point modes, add two new functions: o %SET-FLOATING-POINT-MODES is like SET-FLOATING-POINT-MODES but applies the result to a specified mode value, returning the new mode value (as an integer). This is useful for investigating different mode values without modifying the actual hardware mode. o %GET-FLOATING-POINT-MODES is like GET-FLOATING-POINT-MODES but uses an integer argument instead of the actual floating-point mode. Useful when used with %SET-FLOATING-POINT-MODE or on its own.
-
- Dec 28, 2015
-
-
Raymond Toy authored
* Add some comments. * Change x86 (setf floating-point-modes) to accept (unsigned-byte 32). * Remove unneeded x86 conditionalization on the byte size.
-
- Dec 27, 2015
-
-
Raymond Toy authored
Printing of FP numbers can signal some traps like overflow, underflow, inexact, or denormalized-operand, so we need to disable these traps when printing out the error message for arithmetic errors.
-
- Dec 26, 2015
-
-
Raymond Toy authored
On sparc and ppc (setf vm:floating-point-modes) takes an (unsigned-byte 32) arg, so adjust the ldb byte appopriately. Clean up code by putting the docstring into the macro.
-
- Dec 25, 2015
-
-
Raymond Toy authored
When enabling traps, need to take just the low 24 bits of the arg because (setf floating-point-modes) wants an (unsigned-byte 24) argument. The logorc2 makes the result negative when enabling traps.
-
Raymond Toy authored
WITH-FLOAT-TRAPS-ENABLED.
-
- Dec 24, 2015
-
-
Raymond Toy authored
Merge the body of both macros into one since they only differ in how the bits are merged with the actual mode bits.
-
Raymond Toy authored
This works like WITH-FLOAT-TRAPS-MASKED, except that the specified traps are enabled. Use this in fdlibm to enable the inexact trap.
-
- Dec 03, 2015
-
-
Raymond Toy authored
Cut and paste error from unix-glibc2.lisp copied unix-getitimer instead of unix-setitimer which is needed by SAVE-LISP.
-
- Nov 11, 2015
-
-
Raymond Toy authored
Can't ever remember the order of arguments for RENAME-PACKAGE so just rename the variables to make it clearer. And update the docstring to be a little more verbose.
-
- Oct 31, 2015
-
-
Raymond Toy authored
-
- Oct 20, 2015
-
-
Raymond Toy authored
These should be the last things that need to be moved.
-
- Oct 18, 2015
-
-
Raymond Toy authored
o Add :glibc2 to *features*. (Need to simplify that.) o Add define-ioctl-command and constants for linux.
-
Raymond Toy authored
This allows us to build all of cmucl, but the utilities don't yet build completely.
-
Raymond Toy authored
In particular, use the 64-bit versions of most functions.
-
Raymond Toy authored
WIP; many items have been moved, but not all, and not all things have been checked. This current code doesn't succeed in building itself. The second build crashes with a type error coming from unexpected-eof-error.
-
- Oct 11, 2015
-
-
Raymond Toy authored
Left this out in the previous commit.
-
Raymond Toy authored
-
- Oct 10, 2015
-
-
Raymond Toy authored
It's really nice to see the exit code of the process when printing out the process structure. Fix a typo too: "tings" -> "things".
-
- Sep 01, 2015
-
-
Raymond Toy authored
The previous implementation cleared *herald-items* when -quiet was given, but if the init file loaded up items that added to *herald-items*, then the items were still printed. Plus, it seems odd that -quiet actually clears *herald-items*. So, just don't print herald if -quiet is given, but also preserve *herald-items* so that (print-herald) would actually print the actual herald.
-
- Aug 30, 2015
-
-
Raymond Toy authored
These are needed for asdf and slime, respectively. These were updated for unix.lisp, but not unix-glibc2.lisp. (Time to merge them into one!!!!)
-
- Aug 01, 2015
-
-
Raymond Toy authored
o Add declaration for LIST-ELT* that the index is a kerrnel:index. o Clean up ELT to directly call LIST-ELT* instead of having an inlined version. o Fix typo: issue.5 is really issue.4. o Add tests for invalid indices for ELT and (SETF ELT) for both lists and vectors.
-
- Jun 24, 2015
-
-
Raymond Toy authored
This requires using boot-2015-06-1 to make the change. Regenerated cmucl.pot too.
-
Raymond Toy authored
Fix #7 The change to use extended names like (flet frob) broke the detection of local names for get-setf-expansion. Fix it. This reverts behavior back to what 18a used to do. A test for this is also added.
-
- Jun 22, 2015
-
-
Raymond Toy authored
Fix #3. The lookup for the names was not handling things like (FLET SQUARE TEST/PRESENT) correctly. Use VALID-FUNCTION-NAME to get the function name instead of a plain EQUAL test.
-
- Jun 14, 2015
-
-
Raymond Toy authored
code/seq.lisp: o Define internal LIST-ELT* function that executes ELT on lists, signaling an error if the index is invalid. compiler/seqtran.lisp: o Change the deftransform for ELT to use LIST-ELT* instead of NTH. tests/issues.lisp: o Add test for this issue.
-
Raymond Toy authored
Give a better error message when using T clause in case error.lisp: o Add new invalid-case condition to handle errors from case expressions. macros.lisp: o Use new invalid-case condition to signal the invalid usage of T in CASE expressions. o Replace old message with better, more informative, message. Include xref to ANSI CL spec. exports.lisp: o Export INVALID-CASE from KERNEL package.
-
- Jun 12, 2015
-
-
Raymond Toy authored
o The upcoming version of asdf wants to use unix-getenv, so add that to the core, removing from the unix contrib. o Slime wants to use unix-execve and unix-fork, so import that and the necessary support routines in to the core from the unix contrib.
-
- May 18, 2015
-
-
Raymond Toy authored
-