- Apr 09, 2021
-
-
adds additional keyword arguments to instance-usage for more fine-grained tracking of space allocation
-
- Feb 13, 2021
-
-
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.
-
- Feb 05, 2021
-
-
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.
-
- Jan 30, 2021
-
-
Raymond Toy authored
Just updated based on the issues that were closed.
-
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.
-
- Jan 15, 2021
-
-
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.
-
- Jan 13, 2021
-
-
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.
-
- Jan 12, 2021
-
-
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.
-
- Jan 11, 2021
-
-
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`.
-
- Jan 10, 2021
-
-
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.
-
- Jan 04, 2021
-
-
Raymond Toy authored
Besides the obvious, we need to update genesis to fill in the slot with the correct value.
-
- Jan 03, 2021
-
-
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
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
`*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
-
- Jan 02, 2021
-
-
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.
-
- Dec 24, 2020
-
-
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].
-
- Aug 28, 2020
-
-
Raymond Toy authored
-
Raymond Toy authored
Instead of saving the entire FPU state, we really only need to save the xmm registers.
-
Raymond Toy authored
Forgot to remove this; it's not needed anymore.
-
Raymond Toy authored
It's best to save the FPU state here instead of in alloc() because we can't know what the compiler might do. Remove the fpu save stuff from alloc(). gcc 9.3.1 builds lisp successfully.
-
- Aug 27, 2020
-
-
Raymond Toy authored
-
Raymond Toy authored
-
Raymond Toy authored
In alloc(), save the fpu state on entry to the function and restore it just before returning. While we're at it, use the __attribute__ option to get a 16-byte aligned area where we can save the fpu state. And also set optimization to -O2 for linux.
-
Raymond Toy authored
Add `COPT` variable in `Config.x86_common` to set the optimization level (defaulting to `-O2`). Then each `Config.x86` file can set `COPT` as desired if the default doesn't work. Thus, `Config.x86_linux` sets `COPT` to `-O1`, but others can use the default value. See issue #68.
-
Raymond Toy authored
-
Raymond Toy authored
Add `COPT` variable in `Config.x86_common` to set the optimization level (defaulting to `-O2`). Then each `Config.x86` file can set `COPT` as desired if the default doesn't work. Thus, `Config.x86_linux` sets `COPT` to `-O1`, but others can use the default value. See issue #68.
-
- Aug 26, 2020
-
-
Raymond Toy authored
This isn't referenced in worldcom or worldbuild anymore so we can safely remove this. Most of the required functionality was moved to code/unix.lisp some time ago, so this isn't needed anymore. Whatever functionality that is still left is in contrib/unix/unix-glibc2.lisp, which we aren't removing.
-
- Mar 25, 2020
-
-
Raymond Toy authored
`expr` is more commonly installed than `bc` so reduce the number of required dependencies and just use `expr`.
-
- Mar 22, 2020
-
-
Raymond Toy authored
-
- Mar 08, 2020
-
-
Raymond Toy authored
Eric Marsden wrote some useful utilities long ago. Let's add them to the contrib directory so that we have our own copy of them instead of depending on emarsden.chez.com/downloads. We're adding: * cpc - CPU Performance Counters for Solaris * ssl-cmucl - interface to SSL streams * tcp-forwarder - TCP forwarder to redirect TCP connections to another port on another machine * xml-rpc - Port of Chris Double's xml-rpc client to Cmucl
-
- Feb 18, 2020
-
-
Raymond Toy authored
Issue #80 is fixed.
-
Raymond Toy authored
As it says, convert contribs to use ASDF to load them if possible. Many contribs already had an asd file so we basically just had to rename foo.asd to contrib-foo.asd to keep backward compatibility with the old contrib names. (And update the defsystem name to match.) Added an asd file for packed-sse2. Unix doesn't work, so it's left alone for now.
-
Raymond Toy authored
When `REQUIRE` is called, autoload ASDF if it hasn't already been loaded. User's no longer have to load asdf explicitly anymore. Update release notes.
-
- Feb 16, 2020
-
-
Raymond Toy authored
-
- May 29, 2019
-
-
Raymond Toy authored
[skip ci]
-
Raymond Toy authored
This reverts commit 4dbd847a. release-21d.md was erroneously modified. It should have been done to release-21e.md, a new file. We've already released 21d.
-
Raymond Toy authored
This reverts commit 1ca3f155.
-
- May 28, 2019
-
-
Raymond Toy authored
[skip ci]
-
Raymond Toy authored
* Update to ASDF 3.3.3 * Note that gcc -O1 can build cmucl now for gcc 8.1.1 and later. * Added x86_linux_clang to build cmucl with clang on linux
-
- Apr 17, 2019
-
-
Raymond Toy authored
-