- 13 Feb, 2021 2 commits
-
-
Raymond Toy authored
Fix #103: Remove random-mt19937-update Closes #103 See merge request cmucl/cmucl!71
-
Raymond Toy authored
We don't use the MT19937 RNG anymore, so we can remove this assembly routine. But since the code still exists for mt19937, just use reader-conditionals to disable this.
-
- 05 Feb, 2021 2 commits
-
-
Raymond Toy authored
Fix #101: Add -ftrapping-math to clang compiler options Closes #101 See merge request !70
-
Raymond Toy authored
Because lisp runs with FP traps enabled, we want the C code to honor that. Hence add -ftrapping-math. Also cleaned up the options, replacing -march=pentium4 and -mtune=generic with just -mtune=pentiume4. Replace -mfpmath=sse (not sure what that does) with -msse2. Finally, update CI to do a clang build so we can verify this actually works.
-
- 04 Feb, 2021 5 commits
-
-
Raymond Toy authored
Update CI to use 2021-01 snapshot See merge request !69
-
Raymond Toy authored
Updated the directory path but forgot the version part.
-
Raymond Toy authored
Binaries for the 2021-01 snapshot are available so use those instead of doing a cross-compile from 2020-04.
-
Raymond Toy authored
Add test for overflow in expt that shouldn't happen See merge request !68
-
Raymond Toy authored
We shouldn't get an overflow, but we do because clang 10 miscompiles e_pow.c and causes an overflow. Addresses #101
-
- 30 Jan, 2021 3 commits
-
-
Raymond Toy authored
Just updated based on the issues that were closed.
-
Raymond Toy authored
ldb prints out Unicode characters See merge request !67
-
Raymond Toy authored
When printing out a base-char, only the low 8 bits of the code were used. But with Unicode support, we need to take all the bits and print them out. For control codes we use the form "#\^x". (Was #\C-x, which isn't a valid supported character form.) Ascii is printed as normal "#\a", and everything else use uses "#\u+<hex>". While we're at it, we also added special cases like #\Vt that are listed in https://cmucl.org/docs/cmu-user/html/Characters.html#Characters. With this, we can print out all unicode characters in a form that can be pasted back into lisp.
-
- 15 Jan, 2021 1 commit
-
-
Raymond Toy authored
Previously, the EI_OSABI value was either ELFOSAB_SOLARIS for solaris or ELFOSABI_FREEBSD for everything else. Let's update this to include NetBSD and Linux. Unlikely we'll ever support other things like HP-UX, AIX, IRIX, Tru64, etc. The value currently doesn't seem matter, but it seems nice to get it right.
-
- 13 Jan, 2021 2 commits
-
-
Raymond Toy authored
Address #89: Remove C code to scavenge read-only space See merge request !66
-
Raymond Toy authored
Since we got rid of the symbol `*scavenge-read-only-space*`, we can never scavenge the read-only space, so remove the C code that scavenges the space. Get rid of the unused var `read_only_space_size` too.
-
- 12 Jan, 2021 2 commits
-
-
Raymond Toy authored
Fix #98: Use FSTP instruction with appropriate size Closes #98 See merge request !65
-
Raymond Toy authored
Instead of printing `FSTP` and `FSTPD`, print `FSTP DWORD PTR` and `FSTP QWORD PTR` to store a single-float and double-float value to memory. Clang likes this form better than the original, but gcc accepts both.
-
- 11 Jan, 2021 2 commits
-
-
Raymond Toy authored
Fix #95: Fix disassembly for je and movzx/movsx instructions Closes #95 See merge request !64
-
Raymond Toy authored
We were printing `jeq` for the branch on equal instruction, but it should be `je`. This is fixed by changing the order of the options in the `defconstant` `conditions`. The first in the list is the preferred value, so we can write `je`, `jeq`, or `jz`, but these will all get printed out as `je` instead of the previous `jeq`. For `movzx` and `movsx`, we need to specify the size of the memory object to match Intel syntax. This is done by changing the size of the `ext-reg-reg/mem` format so that the reg/mem field has type `sized-reg/mem` instead of just `reg/mem`. Finally, we just added a note that the `break` instruction is really the `int3` instruction. I don't know why it's called `break` instead of `int3`.
-
- 10 Jan, 2021 2 commits
-
-
Raymond Toy authored
Fix #91: loop destructuring bind Closes #91 See merge request !63
-
Raymond Toy authored
The destructuring shortcut in loop doesn't require all the parts be available. If they're not, each item is replaced by NIL. This is fixed by still using `destructuring-bind`, except we mark everything as optional.
-
- 07 Jan, 2021 2 commits
-
-
Raymond Toy authored
Fix #93: Use our fork of ansi-test Closes #93 See merge request !62
-
Raymond Toy authored
Instead of using the upstream ansi-test for CI, use our own fork.
-
- 04 Jan, 2021 2 commits
-
-
Raymond Toy authored
Fix #90: Remove unused FP static symbols on x86 Closes #90 See merge request !60
-
Raymond Toy authored
Besides the obvious, we need to update genesis to fill in the slot with the correct value.
-
- 03 Jan, 2021 5 commits
-
-
Raymond Toy authored
We no longer support x87, so the static symbols for the long float constants aren't used anymore. And we don't use `*fp-constant-1d0*` anywhere, so we can remove the constants for 1f0 and 1d0.
-
Raymond Toy authored
Address #89: Really remove *scavenge-read-only-space* See merge request !59
-
Raymond Toy authored
The previous changes didn't actually completely remove `*scavenge-read-only-space*`. We removed it from the static space, but it's also defined in `code/x86-vm.lisp` so we need to remove it from there as well. And we forgot to commit the boot file, so we're doing that now.
-
Raymond Toy authored
Remove scavenging of read-only space. See merge request !58
-
Raymond Toy authored
`*SCAVENGE-READ-ONLY-SPACE*` is always set to `NIL`, and it's highly unlikely any one ever sets it. I (rtoy) haven't done that in decades at least. So, remove this static symbol, and remove the C code that tests for this to determine if the read-only space should be scavenged. This requires a very simple cross-compile to remove the symbol. See boot-2020-04-1.lisp for very simple instructions. We currently on do this for x86 since we can't test on sparc right now. Update CI to do a cross-compile. Addresses #89
-
- 02 Jan, 2021 2 commits
-
-
Raymond Toy authored
Remove PAGE_WRITE_PROTECT_CLEARED and MASK. See merge request !57
-
Raymond Toy authored
This macro and mask is only used once to set the bit (near line 498). It's not read anywhere, so remove it. Addresses #89.
-
- 24 Dec, 2020 1 commit
-
-
Raymond Toy authored
Remove the comment about using -O1 for gcc 8.x. We can now work with gcc 9.3 and later because we save the FPU state in alloc_overflow_sse2. See commit [8b08b800].
-
- 05 Sep, 2020 4 commits
-
-
Raymond Toy authored
Refactor CI in to multiple stages See merge request !56
-
Raymond Toy authored
Refactor CI into 4 stages: install, build, test, benchmark
-
Raymond Toy authored
Fix #87: Add cl-bench to CI Closes #87 See merge request cmucl/cmucl!55
-
Raymond Toy authored
From Eric Marsden at http://emarsden.chez.com/downloads/cl-bench.tar.gz. Checked in as is.
-
- 30 Aug, 2020 2 commits
-
-
Raymond Toy authored
Fix #76: Add ansi-tests test suite to CI Closes #76 See merge request cmucl/cmucl!54
-
Raymond Toy authored
Checkout the ansi-test repo and run the testsuite. Verify that there were no unexpected successes or failures.
-
- 29 Aug, 2020 1 commit
-
-
Raymond Toy authored
Fix #86: save fpu state on entry to alloc Closes #86 and #85 See merge request cmucl/cmucl!53
-