2015-01-08T00:24:20Z attila_lendvai1 quit (Quit: Leaving.) 2015-01-08T00:39:17Z snuglas joined #sbcl 2015-01-08T00:39:52Z snuglas: I'm wondering about what might be a suboptimality in update_page_write_prot where it says " ... or the temp. generation" 2015-01-08T00:40:57Z snuglas: if I have a page in gen3 and I'm trying to collect gen3 and not raise, then gen3 becomes gen7 temporarily, so why is NOT allowed to WP a gen3 page that points to gen7 when we know that 7 is about to be 3 ? 2015-01-08T00:44:58Z pkhuong: it might just work out because, whenever we GC a generation, younger generations are empty 2015-01-08T00:48:09Z scymtym_ quit (Ping timeout: 245 seconds) 2015-01-08T00:54:11Z snuglas: but it's not a question of why it works - it's being suboptimal isn't it? 2015-01-08T00:55:30Z snuglas: the requirement is that WP implies "this page points only to as old as or older than this", so it behooves you to WP as much as you can without violating that 2015-01-08T00:56:58Z snuglas: Paul, unrelated, can you explain how I managed to break &more conversion that I had to re-fix in change b293 ? 2015-01-08T01:03:25Z snuglas quit (Ping timeout: 246 seconds) 2015-01-08T01:04:24Z pkhuong: I'll take a look at both q when i get home 2015-01-08T01:05:25Z pkhuong: I'll also try to articulate my feelings re packing refs in headers 2015-01-08T01:07:07Z echo-area joined #sbcl 2015-01-08T01:21:23Z nikki93 quit (Read error: Connection reset by peer) 2015-01-08T01:21:36Z nikki93 joined #sbcl 2015-01-08T01:33:51Z slyrus quit (Ping timeout: 264 seconds) 2015-01-08T02:04:47Z nikki93 quit (Read error: Connection reset by peer) 2015-01-08T02:05:07Z nikki93 joined #sbcl 2015-01-08T02:25:08Z nikki93 quit (Remote host closed the connection) 2015-01-08T02:28:06Z psilord quit (Remote host closed the connection) 2015-01-08T02:28:22Z nikki93 joined #sbcl 2015-01-08T02:28:30Z psilord joined #sbcl 2015-01-08T02:45:39Z cmack quit (Ping timeout: 264 seconds) 2015-01-08T02:51:14Z nikki93 quit (Remote host closed the connection) 2015-01-08T03:05:07Z oleo__ joined #sbcl 2015-01-08T03:06:32Z oleo is now known as Guest71246 2015-01-08T03:06:52Z Guest71246 quit (Ping timeout: 240 seconds) 2015-01-08T03:26:32Z slyrus joined #sbcl 2015-01-08T03:34:52Z slyrus quit (Ping timeout: 245 seconds) 2015-01-08T03:38:34Z christoph_debian quit (Ping timeout: 245 seconds) 2015-01-08T03:42:50Z pkhuong: so, for the GC question: scavenge means "traverse to find references (roots) to the oldspace (the generation being GCed)" 2015-01-08T03:43:44Z edgar-rft joined #sbcl 2015-01-08T03:43:47Z pkhuong: so we don't scavenge the generation that's being gced. we then repeatedly scavenge newspace to get all reachable objects. 2015-01-08T03:47:56Z pkhuong: + we only scavenge older generations because we know that younger ones are empty 2015-01-08T04:10:45Z adlai quit (Ping timeout: 250 seconds) 2015-01-08T04:14:43Z slyrus joined #sbcl 2015-01-08T04:51:57Z slyrus quit (Remote host closed the connection) 2015-01-08T04:52:15Z slyrus joined #sbcl 2015-01-08T05:04:53Z oleo__ quit (Quit: Verlassend) 2015-01-08T05:12:18Z oleo joined #sbcl 2015-01-08T05:57:12Z oleo quit (Quit: Verlassend) 2015-01-08T06:03:08Z Quadrescence joined #sbcl 2015-01-08T06:03:21Z Quadrescence quit (Changing host) 2015-01-08T06:03:21Z Quadrescence joined #sbcl 2015-01-08T06:05:35Z Quadrescence quit (Client Quit) 2015-01-08T06:08:59Z Quadrescence joined #sbcl 2015-01-08T06:37:46Z pranavrc joined #sbcl 2015-01-08T06:51:27Z adlai joined #sbcl 2015-01-08T08:07:16Z edgar-rft quit (Quit: lifeform experiment vanished by supernova contermination) 2015-01-08T08:08:54Z tcr joined #sbcl 2015-01-08T08:21:35Z tcr quit (Quit: Leaving.) 2015-01-08T08:28:19Z scymtym_ joined #sbcl 2015-01-08T08:33:47Z adlai quit (Ping timeout: 250 seconds) 2015-01-08T08:52:49Z edgar-rft joined #sbcl 2015-01-08T08:57:57Z christoph_debian joined #sbcl 2015-01-08T08:58:22Z pacon joined #sbcl 2015-01-08T09:46:26Z stassats joined #sbcl 2015-01-08T09:49:34Z Quadrescence quit (Quit: This computer has gone to sleep) 2015-01-08T10:08:11Z attila_lendvai joined #sbcl 2015-01-08T10:08:11Z attila_lendvai quit (Changing host) 2015-01-08T10:08:11Z attila_lendvai joined #sbcl 2015-01-08T10:12:21Z adlai joined #sbcl 2015-01-08T10:14:11Z echo-area quit (Remote host closed the connection) 2015-01-08T10:29:33Z psy_ quit (Quit: Leaving) 2015-01-08T10:39:15Z pacon quit (Read error: No route to host) 2015-01-08T10:50:49Z Bicyclidine quit (Ping timeout: 264 seconds) 2015-01-08T11:16:57Z scymtym_ quit (Ping timeout: 245 seconds) 2015-01-08T11:17:32Z Bicyclidine joined #sbcl 2015-01-08T11:43:18Z eudoxia joined #sbcl 2015-01-08T11:46:17Z psy_ joined #sbcl 2015-01-08T11:46:26Z ante_ joined #sbcl 2015-01-08T11:47:35Z ante_ quit (Client Quit) 2015-01-08T11:47:47Z ante_ joined #sbcl 2015-01-08T11:48:03Z ante_ is now known as Cymew 2015-01-08T11:48:14Z Cymew quit (Client Quit) 2015-01-08T11:49:41Z Cymew joined #sbcl 2015-01-08T11:58:53Z nikki93 joined #sbcl 2015-01-08T12:09:56Z Hache joined #sbcl 2015-01-08T12:28:47Z nikki93 quit (Read error: Connection reset by peer) 2015-01-08T12:28:56Z nikki93 joined #sbcl 2015-01-08T13:21:03Z Bicyclidine quit (Ping timeout: 264 seconds) 2015-01-08T13:39:01Z pranavrc quit 2015-01-08T13:40:01Z edgar-rft quit (Quit: activity destroyed by unknown existence) 2015-01-08T13:40:23Z gabriel_laddel joined #sbcl 2015-01-08T13:40:32Z gabriel_laddel quit (Changing host) 2015-01-08T13:40:32Z gabriel_laddel joined #sbcl 2015-01-08T13:47:40Z Bicyclidine joined #sbcl 2015-01-08T13:55:30Z gingerale joined #sbcl 2015-01-08T14:30:34Z oleo joined #sbcl 2015-01-08T15:08:17Z nikki93 quit 2015-01-08T15:14:11Z adlai quit (Ping timeout: 250 seconds) 2015-01-08T15:15:17Z nyef joined #sbcl 2015-01-08T15:18:00Z edgar-rft joined #sbcl 2015-01-08T15:27:17Z adlai joined #sbcl 2015-01-08T15:59:41Z pkhuong: our barrier macro isn't well suited to x86 2015-01-08T16:00:06Z pkhuong: we never need sfence/lfence except for weird memory types or non temporal instructions 2015-01-08T16:01:03Z pkhuong: I'm guessing we want to add "strict" fences that will always emit fences, and normal ones that only emit ones if the architecture needs it and the build is multithreaded. 2015-01-08T16:03:40Z oleo__ joined #sbcl 2015-01-08T16:04:28Z foom: I'm surprised it's not already defined to be a no-op on x86. 2015-01-08T16:04:50Z nyef: The real trick is going to be threaded alpha. 2015-01-08T16:05:06Z oleo is now known as Guest72807 2015-01-08T16:05:39Z Guest72807 quit (Ping timeout: 245 seconds) 2015-01-08T16:08:37Z pkhuong: foom: we were really overly conservative and coarse for the first stab 2015-01-08T16:12:00Z foom: Yea, well, as a first pass, ignoring the weird memory types and insns on x86 would be very reasonable. 2015-01-08T16:12:09Z foom: If you're using those, you're probably writing x86-specific asm anyways 2015-01-08T16:12:31Z oleo__ quit (Quit: Verlassend) 2015-01-08T16:13:15Z oleo__ joined #sbcl 2015-01-08T16:13:32Z oleo__ is now known as oleo 2015-01-08T16:15:35Z pkhuong: foom: sb-concurrency and some internal code uses barriers 2015-01-08T16:16:24Z foom: Okay, but they don't need sfence/lfence on x86, surely? 2015-01-08T16:16:39Z pkhuong: hard to tell what user code is doing 2015-01-08T16:16:51Z pkhuong: but I think we should assume they don't do anything weird. 2015-01-08T16:17:03Z foom: Yes 2015-01-08T16:17:10Z pkhuong: still I understand the initial choice. 2015-01-08T16:18:34Z slyrus quit (Ping timeout: 245 seconds) 2015-01-08T16:36:06Z eudoxia quit (Quit: Leaving) 2015-01-08T16:37:14Z jdz quit (Ping timeout: 244 seconds) 2015-01-08T16:39:26Z jdz joined #sbcl 2015-01-08T16:39:49Z Cymew quit (Ping timeout: 244 seconds) 2015-01-08T16:44:18Z attila_lendvai quit (Quit: Leaving.) 2015-01-08T16:51:39Z ejbs joined #sbcl 2015-01-08T16:52:57Z slyrus joined #sbcl 2015-01-08T17:58:48Z Hache quit (Read error: Connection reset by peer) 2015-01-08T18:00:37Z slyrus quit (Ping timeout: 244 seconds) 2015-01-08T18:15:20Z edgar-rft quit (Quit: continuation ended by reoccurring something) 2015-01-08T18:20:41Z slyrus joined #sbcl 2015-01-08T18:28:34Z slyrus quit (Ping timeout: 245 seconds) 2015-01-08T19:02:22Z snuglas joined #sbcl 2015-01-08T19:02:57Z snuglas: I think we should stop crapping up the *features* in the target which features that users shouldn't possibly care about, such as ones that control cross-compilation like float-eql-vops. 2015-01-08T19:03:10Z snuglas: That said, I'm going to nonetheless add the integer-eql-vop 2015-01-08T19:03:19Z stassats: sb-integer-eql-vop? 2015-01-08T19:03:32Z stassats: or do we reserve sb- for user features? 2015-01-08T19:03:37Z snuglas: it looks like we don't use that convention for much in make-config 2015-01-08T19:03:49Z snuglas: yah, i'm looking at make-config and it doesn't do sb- 2015-01-08T19:04:09Z snuglas: so how can we remove the features that xc-needs-to-know from the final image ? 2015-01-08T19:04:23Z stassats: just remove them? 2015-01-08T19:04:33Z snuglas: and where to maintain the list of what to remove ? 2015-01-08T19:04:34Z stassats: but i want them for C-c C-c! 2015-01-08T19:04:48Z stassats: and for code reading 2015-01-08T19:04:49Z snuglas: maybe the make-config should push them into a different list, so we know what that list is; then append into *features*, then remove. 2015-01-08T19:05:03Z snuglas: yah, indeed, we'll have to teach Slime some magic 2015-01-08T19:05:32Z stassats: but come on, how many bytes you will save? 2015-01-08T19:05:46Z snuglas: the bytes don't bother me. the aesthetics do 2015-01-08T19:06:30Z stassats: users be damned, i want to know what *features* are there 2015-01-08T19:06:44Z snuglas: ok 2015-01-08T19:09:43Z foom: it does seem like all the internal don't-use features should be marked as such somehow 2015-01-08T19:10:06Z foom: :sb-int-XXX? 2015-01-08T19:10:16Z stassats: how would you use those features? 2015-01-08T19:10:31Z foom: what do you mean? 2015-01-08T19:10:50Z stassats: if you have a form with #+compare-and-swap-vops then the code it guards is pretty deep in internals 2015-01-08T19:11:17Z foom: yes...but it is still on a global *features* list 2015-01-08T19:11:41Z snuglas: what if #+ and #- were modified to look in the union of *features* and *internal-features* ? 2015-01-08T19:11:44Z snuglas: is that permissible ? 2015-01-08T19:11:51Z foom: sounds complex 2015-01-08T19:12:02Z foom: It'd fix the problem just to name them with a prefix 2015-01-08T19:12:02Z stassats: snuglas: an unnecessary complication 2015-01-08T19:12:12Z foom: #+sb-int-compare-and-swap-vops 2015-01-08T19:12:15Z stassats: #!+ is already confusing enough 2015-01-08T19:12:51Z foom: Just stop stomping all over the global shared feature namespace. 2015-01-08T19:13:00Z snuglas: but is it not a valid point that if user code wants to know if two images were configured effectively the same - disregarding internals that it just should not care about - that it need only look in *features*? 2015-01-08T19:13:17Z snuglas: if that's not a desideratum then i'll stop worrying 2015-01-08T19:13:18Z stassats: it is valid, just not enough to care 2015-01-08T19:14:29Z snuglas: james, you really think someone's gonna get harmed by 'integer-eql-vops' without the 'sb-' ? I think we put enough words in our names of features to avoid collision 2015-01-08T19:15:29Z foom: Probably not, but it's annoying to figure out which ones came from what 2015-01-08T19:16:18Z stassats: some package pushes :21BIT-CHARS onto *features* 2015-01-08T19:16:22Z snuglas: well, it turns out i may not introduce a new feature. It seems like if I fix the obvious blunder in the pure-Lisp implementation of %EQL/INTEGER there's no reason that IR1 should try to avoid it after all. 2015-01-08T19:16:26Z stassats: it's not like things are pristine 2015-01-08T19:16:42Z snuglas: that was just a stupid mistake that I had to paper over with a feature for lack of seeing the bug 2015-01-08T19:19:37Z foom: oh wow, you can actually use features with packages? 2015-01-08T19:19:48Z foom: did not know! 2015-01-08T19:20:15Z foom: #+sb-int:whatever actually even works 2015-01-08T19:20:37Z ejbs` joined #sbcl 2015-01-08T19:20:40Z stassats: except for the whole sb!int/sb-int thing 2015-01-08T19:20:56Z foom: well, sure, but that's already true. 2015-01-08T19:21:11Z snuglas: it's just READ with *package* rebound to :KEYWORD, so sure 2015-01-08T19:21:19Z foom: yea but nobody ever does that 2015-01-08T19:22:00Z foom: all the sbcl-internal features could be symbols in sb[!-]int. namespaces are good. 2015-01-08T19:22:22Z ejbs quit (Ping timeout: 240 seconds) 2015-01-08T19:22:44Z snuglas: ok, so to featureize or not - that is the question. If other backends prefer %EQL/INTEGER, that means they'll not use their assembly routine for GENERIC-EQL when they could have, which *might* have been faster than the pure-lisp code for %EQL/INTEGER 2015-01-08T19:26:49Z ejbs`` joined #sbcl 2015-01-08T19:28:22Z ejbs` quit (Ping timeout: 240 seconds) 2015-01-08T19:29:43Z snuglas: foom: when you say "nobody does that", do you mean "nobody except the somebody who reported this bug" ? https://bugs.launchpad.net/sbcl/+bug/685346 2015-01-08T19:30:35Z nyef: Heck, we take advantage of it being READ at times, have you forgotten the #!+#.(cl:if construct? 2015-01-08T19:31:06Z foom: I didn't notice that that bug used #+foo:foo 2015-01-08T19:44:28Z snuglas quit (Ping timeout: 246 seconds) 2015-01-08T19:50:09Z fiveop joined #sbcl 2015-01-08T19:51:14Z fiveop quit (Remote host closed the connection) 2015-01-08T20:05:41Z slyrus joined #sbcl 2015-01-08T20:14:02Z stassats: tried to do (coerce (vector 1 2 3) '(vector (unsigned-byte 8) *)) optimization in the transform, but VECTOR is eaten by a source-transform earlier 2015-01-08T20:14:26Z stassats: hat to resort to a source-transform similar to the make-array one 2015-01-08T21:01:54Z ejbs``` joined #sbcl 2015-01-08T21:03:34Z ejbs`` quit (Ping timeout: 245 seconds) 2015-01-08T21:06:13Z scymtym_ joined #sbcl 2015-01-08T21:09:35Z ejbs```` joined #sbcl 2015-01-08T21:11:40Z ejbs``` quit (Ping timeout: 264 seconds) 2015-01-08T21:20:10Z ejbs````` joined #sbcl 2015-01-08T21:20:22Z fitzsim quit (Ping timeout: 244 seconds) 2015-01-08T21:22:07Z ejbs```` quit (Ping timeout: 244 seconds) 2015-01-08T21:29:46Z soggybread quit (Quit: Lost terminal) 2015-01-08T21:38:59Z ejbs````` quit (Ping timeout: 245 seconds) 2015-01-08T21:58:40Z nyef quit (Quit: G'night all) 2015-01-08T22:03:02Z soggybread joined #sbcl 2015-01-08T22:11:35Z Quadrescence joined #sbcl 2015-01-08T22:19:13Z irsol quit (Quit: leaving) 2015-01-08T22:25:31Z irsol joined #sbcl 2015-01-08T22:27:47Z gingerale quit (Ping timeout: 245 seconds) 2015-01-08T22:48:34Z slyrus_ joined #sbcl 2015-01-08T22:49:45Z slyrus quit (Ping timeout: 265 seconds) 2015-01-08T22:50:14Z slyrus_ is now known as slyrus 2015-01-08T23:19:12Z stassats quit (Ping timeout: 244 seconds) 2015-01-08T23:35:27Z attila_lendvai joined #sbcl 2015-01-08T23:35:27Z attila_lendvai quit (Changing host) 2015-01-08T23:35:27Z attila_lendvai joined #sbcl