freenode/#sicl - IRC Chatlog
Search
16:34:39
jcowan
The Oracle JVM has a concept of lightweight locks, which are used initially. If a lot of contention takes place, the lock is upgraded to a heavyweight lock.
16:44:22
jcowan
Spin locks are used first, but if they time out, then the regular locking mechanism kicks in. A lightweight lock involves only single CaS operation that gets inlined, whereas a heavyweight lock maintains a per-lock queue and a non-inlined procedure to manage it.
16:48:13
beach
My (admittedly small) family just announced that dinner is served. After dinner, I will spend time with her. I might check in later. If not, I'll be back tomorrow morning (UTC+2).
21:17:02
Bike
i realized i could reuse most of the ctor code for a dfun for reinitialize-instance, so i tried that out. in the simplistic case of one keyword argument and no custom methods, it's about fifty times faster than calling reinitialize-instance
2:57:34
Bike
since reinitialize-instance ignores initforms, the specialized method pretty much amounts to (setf (standard-instance-access instance 0) arg0 (standard-instance-access instance 3) arg1) or whatnot
3:21:28
beach
karlosz: Does this PR of yours to Concrete Syntax Tree affect the external interface in any way?
3:22:02
beach
karlosz: I don't particularly want to break the SICL bootstrapping procedure at this point.
3:31:22
beach
All this optimization work makes me wish that the SICL bootstrapping work were finished so that I could participate. And, although I can see the light at the end of the tunnel, there is still tons of work. Mostly incremental stuff, but still.
3:31:30
beach
At this point, I am convinced that I have a working cyclic graph in environment E5. But that environment is otherwise lacking lots of stuff. All the macros are in E0 since compilation during bootstrapping took place there.
3:31:34
beach
So those macros need to be loaded into E5, this time with code generation (though I disabled code generation during my work on the bootstrapping procedure itself).
3:31:36
beach
The plan now is to load enough macros into E5 that I can start using E5 for compilation. It will then be independent of other environments, and I can start loading the rest of the code into it.
3:47:56
Bike
there's an accompanying change to clasp, so yeah, i think the PR changes the interface.
3:53:03
Bike
er, or more directly https://github.com/clasp-developers/clasp/pull/1010/commits/42be87cc1cb911b748415ff7ba531ec8f3f3fb83
3:54:24
Bike
anyway, sleepin. i'll look forward to having a non-clasp environment to test cleaviry things in
3:55:57
beach
That change to Clasp concerns Clasp-specific lambda lists. SICL doesn't have any specific lambda lists, so it looks like SICL would not need to be changed as a result of this improvement.