freenode/#clasp - IRC Chatlog
Search
7:40:25
beach
::notify karlosz In SFA, if you propagate only when the left-hand side of the assignment has a single defining occurrence, then you get the same result as if you use SSA.
13:46:13
beach
drmeister: How can you get the fast allocation by bumping a pointer if you don't have a compacting garbage collector. And how can you get a compacting garbage collector if you are using conservative stack scanning?
13:50:48
beach
Because you may have an integer that looks like a pointer, and if you compact, then you would incorrectly update that integer.
13:52:13
Shinmera
Yeah, so you need to pin things pointed to from the stack, which makes it hard to compact.
13:53:58
beach
Shinmera: Not only that. What if there is something there? What do you do to allocate then?
13:54:05
Bike
https://www.ravenbrook.com/project/mps/master/manual/html/topic/allocation.html#allocation-point-implementation well, here's mps's explanation.
14:00:11
beach
Bike: It might be worth for someone (at least drmeister) to find out, because if he expects cheap pointer bumping and conservative stack scanning at the same time, he should make sure they are simultaneously possible. And I would like to know how they do it in that case.
14:03:38
beach
Bike: I take it from the mention of "near lock free" on that page, that they do not have a per-thread nursery?
14:07:51
Bike
the lock is for when the buffer runs out of space and more has to be reserved. i think.
14:08:18
Bike
well, still not like thread local nurseries in that you can allocate something with an ap and then refer to it from another thread
16:05:45
Bike
the rc file load is specially hacked so that it doesn't rebind *package* or *readtable*. is that normal?
17:14:31
drmeister
Anything that looks like a pointer on the stack will pin whatever it looks like it points to so that those pinned things cannot move.
17:14:57
drmeister
My understanding is that sbcl uses the same approach. Conservative on the stack, precise on the heap.
17:17:40
drmeister
I'm in the airport about to board to Philadelphia - I'll be on for another 15 min or so.
17:23:44
Bike
really should figure out this peek-char thing. it seems to alter the internal state of the stream
17:32:47
Shinmera
unread-char (which peek-char is likely to use) says something that seems related: "Invoking peek-char or read-char commits all previous characters."
17:37:40
Bike
peek-char has this complicated mode where it skips over a bunch of characters before finding one to peek at, which i'm not so familiar with