libera/#sicl - IRC Chatlog
Search
7:14:38
hayley
SBCL now generates code for the write barrier for generational GC, rather than using memory protection on x86-64 and 64-bit PowerPC, and it is faster than using the memory management unit.
7:19:23
hayley
Quoth the Douglas Katzman: "No more spurious tripping of the barrier for storing fixnums. As of now this is a compile-time determination, but it could be made to choose at runtime. We'd have to measure the benefit."
7:20:46
hayley
...and using instructions to mark cards should result in mprotect() being called less often, and the TLB should be utilized better.
7:21:02
beach
Ah, yes, there is that. Compiler type inference and other information can elide the barriers, but that's not generally possible with memory protection.
7:56:13
hayley
Though the generated store barriers don't include a runtime type test, and so storing a fixnum would still mark a card.
7:57:47
hayley
The concurrent GC planned for SICL is a "snapshot-at-the-beginning" type and the write barrier has to mark the old value of the location being written to, right? Thus there would be a type test on the old value.
9:41:37
hayley
Also, while unrelated, today I read a blog post by a server hardware company about its embedded operating system, and the post stated that "even in memory safe languages [..., hardware] memory protection is essential" which cracks me up. I guess it's the effects of long-term exposure to Unix or something.
9:42:51
hayley
(I suppose overflowing the stack would be very unfortunate, but what they mentioned sounded more like process isolation, with "tasks, the kernel, and drivers all in disjoint protection domains".)
9:44:46
beach
I guess they are selling hardware that has memory protection, so they can't be caught saying it is sometimes now required.
9:46:11
hayley
I'm not very familiar with server hardware, but the hardware apparently has embedded devices as well as more general purpose hardware, and application code only runs on the latter.
9:48:43
hayley
Ah, the embedded hardware is a replacement for a "baseband management controller", which is typically an ARM system-on-chip, and is used to have remote access to facilities which are usually only accessible through a physical interface, such as forcefully rebooting a server.
9:50:32
hayley
...and the BMC is also used to read off sensors, but why not just have the general purpose hardware read those sensors, as desktop computers do? Guess I don't run servers.
13:40:24
pjb
Interesting: https://theconversation.com/danish-children-struggle-to-learn-their-vowel-filled-language-and-this-changes-how-adult-danes-interact-161143 this could explain how a language such as Star Trek Tamarian could evolve. https://memory-alpha.fandom.com/wiki/Tamarian_language
13:42:22
pjb
But more practically, it supports the importance when writing for a large and diverse public, to build a text using different techniques and relationships. A single short sentence may not be sufficient, but several sentences communicating the same idea in different way, calling up to different mental faculties and references may be indicated.