2018-01-11T04:25:59Z ccl-logbot joined #sbcl 2018-01-11T04:25:59Z 2018-01-11T04:25:59Z names: ccl-logbot bugrum joshe oleo fortitude cromachina Bike bkst corci scymtym whoman leah2 rpg ebdreger milanj eschatologist cryptomarauder |3b| DeadTrickster Kevslinger libreman ave1 jibanes jack_rabbit p_l tonton Blkt easye jasom dougk pchrist les fiddlerwoaroof_ salva rgrau abbe carvite nimiux nicdev aeth ym pkhuong Posterdati leo_song jdz malm GreaseMonkey sigjuice Xof foom dustinm` Colleen alandipert adlai MetaYan phoe nyef`` flip214 irsol White_Flame 2018-01-11T04:25:59Z names: Greasy-Gappers mjl luis stylewarning jyc angular_mike drmeister gendl christoph_debian Intensity copec dim galdor lonjil jsnell fe[nl]ix kini Lord_Nightmare mood specbot Aaryn swflint minion gko gingerale dwts jackdaniel Shinmera _death brucem xristos 2018-01-11T04:37:24Z bugrum quit (Remote host closed the connection) 2018-01-11T04:55:25Z nyef``: Getting a lot of "warning: format '%ld' expects argument of type 'long int', but argument 3 has type 'int' [-Wformat]" with grovelled stuff from sb-posix. 2018-01-11T04:57:37Z nyef``: sb-md5 passed its tests this time, that's progress. 2018-01-11T05:19:58Z nyef``: Killed the sb-sprof test. It was taking too long. 2018-01-11T05:23:34Z nyef``: backtrace.impure.lisp / (BACKTRACE THROW NO-SUCH-TAG) fails, truncated backtrace. 2018-01-11T05:23:43Z nyef``: Running the full test suite now. 2018-01-11T05:24:14Z nyef``: ... though I might kill it before it finishes. It's late/early, and the machine is loud. 2018-01-11T05:44:58Z Bike quit (Quit: Lost terminal) 2018-01-11T06:02:51Z oleo quit (Quit: Leaving) 2018-01-11T06:04:43Z smurfrobot joined #sbcl 2018-01-11T06:05:33Z smurfrobot quit (Remote host closed the connection) 2018-01-11T06:09:55Z rpg quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2018-01-11T06:17:44Z smurfrobot joined #sbcl 2018-01-11T06:19:09Z smurfrobot quit (Remote host closed the connection) 2018-01-11T06:39:09Z scymtym quit (Remote host closed the connection) 2018-01-11T06:50:23Z nyef``: core.test.sh seems to wind up in LDB? 2018-01-11T06:51:09Z nyef``: Something about an mprotect failure. 2018-01-11T06:54:22Z smurfrobot joined #sbcl 2018-01-11T07:13:28Z shka joined #sbcl 2018-01-11T07:29:46Z whoman quit (Ping timeout: 255 seconds) 2018-01-11T07:47:51Z whoman joined #sbcl 2018-01-11T07:49:48Z smurfrobot quit (Remote host closed the connection) 2018-01-11T08:02:05Z shka quit (Ping timeout: 240 seconds) 2018-01-11T08:02:46Z smurfrobot joined #sbcl 2018-01-11T08:04:06Z smurfrobot quit (Remote host closed the connection) 2018-01-11T08:08:22Z smurfrobot joined #sbcl 2018-01-11T08:19:50Z scymtym joined #sbcl 2018-01-11T08:27:11Z angavrilov joined #sbcl 2018-01-11T08:44:27Z smurfrobot quit (Remote host closed the connection) 2018-01-11T09:44:59Z smurfrobot joined #sbcl 2018-01-11T09:49:51Z smurfrobot quit (Ping timeout: 248 seconds) 2018-01-11T10:10:12Z attila_lendvai42 joined #sbcl 2018-01-11T10:23:33Z scymtym: Xof: when you make a release, do you update the ASDF manual along with the SBCL manual? there seems to be a very old version at http://www.sbcl.org/asdf/ 2018-01-11T10:25:57Z karlosz joined #sbcl 2018-01-11T10:28:33Z attila_lendvai42 quit (Ping timeout: 264 seconds) 2018-01-11T10:32:27Z jibanes quit (Ping timeout: 240 seconds) 2018-01-11T10:34:34Z jibanes joined #sbcl 2018-01-11T10:44:42Z attila_lendvai42 joined #sbcl 2018-01-11T10:45:34Z BitPuffin joined #sbcl 2018-01-11T10:46:17Z smurfrobot joined #sbcl 2018-01-11T10:50:41Z smurfrobot quit (Ping timeout: 248 seconds) 2018-01-11T10:52:55Z stassats joined #sbcl 2018-01-11T10:55:37Z m00natic joined #sbcl 2018-01-11T11:29:37Z attila_lendvai42 quit (Ping timeout: 248 seconds) 2018-01-11T11:40:03Z stassats: SB-SYS:WAIT-UNTIL-FD-USABLE calls get-internal-real-time even without a timeout? 2018-01-11T11:43:12Z attila_lendvai42 joined #sbcl 2018-01-11T11:45:09Z scymtym: stassats: in have follow-up changes for the deadline stuff which should take care of that. i don't mind if you want to fix this particular thing immediately, though 2018-01-11T11:45:21Z scymtym: s/in/i/ 2018-01-11T11:46:25Z stassats: i actually don't see how decode-timeout calls get-internal-real-time with NIL seconds and NIL *deadline* 2018-01-11T11:47:05Z smurfrobot joined #sbcl 2018-01-11T11:47:20Z stassats: oh, return-no-timeout is not returning 2018-01-11T11:48:16Z stassats: was that what you had in mind? 2018-01-11T11:48:27Z stassats: in your follow-up changes 2018-01-11T11:49:28Z scymtym: yes, i have a rewrite of DECODE-TIMEOUT planned 2018-01-11T11:49:53Z stassats: ok, i'll insert a return-from, since that's fairly straightforward 2018-01-11T11:50:57Z scymtym: fixing it now seems good. gives a better baseline performance for comparison 2018-01-11T11:51:13Z stassats: and remove return-from from the tagbody, and make the local return- functions actually return 2018-01-11T11:51:27Z smurfrobot quit (Ping timeout: 240 seconds) 2018-01-11T11:52:27Z stassats: somehow an unwind appears, maybe should be inlining the local functions then 2018-01-11T11:53:50Z scymtym: i went through all the possibilities as well, trying to get good code :( 2018-01-11T11:55:12Z stassats: re FIXME compiler should learn to figure that out in seconds-to-maybe-internal-time 2018-01-11T11:55:21Z stassats: it already can 2018-01-11T11:55:26Z stassats: just maybe not in time 2018-01-11T11:56:40Z stassats: yeah, the truncate gets pessimised before constraint propagation 2018-01-11T11:57:23Z scymtym: i think we even talked about that before i added the FIXME 2018-01-11T11:58:17Z stassats: %unary-truncate should have a transform to go back 2018-01-11T11:58:26Z stassats: i hate that fact 2018-01-11T11:59:36Z stassats: (it's all started with me running powertop and seeing an idle sbcl spinning in slime) 2018-01-11T11:59:57Z stassats: now i'm trying rewrite the compiler to avoid duplicating transforms 2018-01-11T12:02:53Z scymtym: my journey was "why is startup slow?" "how does :ignore-inherited-configuration look in ASDF's shell-friendly syntax?" "why is the ASDF manual on sbcl.org ancient?" "why does the section on shell-friendly syntax in the current ASDF manual use * instead of @item for a bullet list?" 2018-01-11T12:06:04Z stassats: we need a class of transforms that do not even run before constraint propagation 2018-01-11T12:06:26Z stassats: no, delay-ir1-transform is not the answer 2018-01-11T12:09:10Z stassats: (trace get-internal-real-time) no longer triggers at the vanilla sbcl repl 2018-01-11T12:11:26Z stassats: that's great, but slime still does gettimeofday(0xf4fb7fe8, 0xf4fb7fe0) nanosleep(0xf4db6740, 0xf4db6750, 0, 25) 2018-01-11T12:17:06Z stassats: ok, i see where it comes from, and i already have it fixed on my locally hacked swank for macos 2018-01-11T12:18:25Z scymtym: one problem seems to be stream-force-output :around slime-output-stream 2018-01-11T12:18:38Z stassats: it's auto-flush-loop 2018-01-11T12:19:09Z stassats: i think i need to test my changes to work without threads and just push it 2018-01-11T12:21:01Z stassats: i'm also not using condition variables, but libdispatch, because without futexes we use spinlocks... 2018-01-11T12:21:40Z scymtym: and darwin doesn't use/have futexes? 2018-01-11T12:21:41Z stassats: i wonder if pthread-futex.c works on darwin 2018-01-11T12:21:53Z stassats: only linux has futexes, so 2018-01-11T12:22:05Z stassats: and no, darwin has no equivalent 2018-01-11T12:24:22Z m00natic` joined #sbcl 2018-01-11T12:25:57Z m00natic quit (Ping timeout: 240 seconds) 2018-01-11T12:27:29Z scymtym: i haven't read it completely yet, but https://webkit.org/blog/6161/locking-in-webkit/ seems relevant 2018-01-11T12:28:03Z stassats: i think i had pasted that link here 2018-01-11T12:28:22Z stassats: but we already have pthread-futex.c, used on freebsd 2018-01-11T12:28:34Z attila_lendvai42 quit (Ping timeout: 255 seconds) 2018-01-11T12:28:55Z stassats: locking-in-webkit is losing me around not losing wakeups 2018-01-11T12:31:14Z stassats: no sbcl in powertop now, imagine the energy savings! don't think my energy bill includes so many decimal points, though 2018-01-11T12:32:45Z stassats: but it's also more responsive 2018-01-11T12:34:26Z stassats: but i sometimes run multiple idling slime sessions, for many hours, so it all adds up 2018-01-11T12:36:00Z stassats: but why did it call gettimeofday and sleep? 2018-01-11T12:41:17Z scymtym: i think AUTO-FLUSH-LOOP called SLEEP and FORCE-OUTPUT directly. the latter called the :around method mentioned above which has a WITH-DEADLINE 2018-01-11T12:42:17Z stassats: ok 2018-01-11T12:44:54Z attila_lendvai42 joined #sbcl 2018-01-11T12:45:49Z stassats: scymtym: i was planning on increasing internal-time-units-per-second 2018-01-11T12:45:53Z stassats: any thoughts? 2018-01-11T12:46:04Z stassats: to at least 1000000 2018-01-11T12:47:17Z stassats: could do 1000000000 2018-01-11T12:47:40Z smurfrobot joined #sbcl 2018-01-11T12:48:16Z stassats: ccl has 1000000, but 1000 on 32-bit 2018-01-11T12:49:11Z stassats: since bignumification on 32 bits is a concern, that could be a plan 2018-01-11T12:52:55Z smurfrobot quit (Ping timeout: 265 seconds) 2018-01-11T12:56:44Z Shinmera: Higher resolution time units would mean I can stop using sb-ext:gettimeofday in my game engine, so I'm all for it. 2018-01-11T12:57:00Z Shinmera: *get-time-of-day 2018-01-11T13:00:22Z rpg joined #sbcl 2018-01-11T13:03:34Z scymtym_ joined #sbcl 2018-01-11T13:07:31Z scymtym quit (Ping timeout: 240 seconds) 2018-01-11T13:20:53Z m00natic` quit (Read error: Connection reset by peer) 2018-01-11T13:21:06Z m00natic` joined #sbcl 2018-01-11T13:28:47Z karlosz quit (Quit: karlosz) 2018-01-11T13:28:59Z karlosz joined #sbcl 2018-01-11T13:38:30Z karlosz quit (Quit: karlosz) 2018-01-11T13:39:58Z corci: Project sbcl-master-windows » Windows_7_64bit build #1747: FAILURE in 29 min: http://ci.cor-lab.de/job/sbcl-master-windows/label=Windows_7_64bit/1747/ 2018-01-11T13:44:17Z attila_lendvai42 quit (Ping timeout: 256 seconds) 2018-01-11T13:48:42Z smurfrobot joined #sbcl 2018-01-11T13:53:45Z smurfrobot quit (Ping timeout: 264 seconds) 2018-01-11T13:56:29Z karlosz joined #sbcl 2018-01-11T14:01:30Z attila_lendvai42 joined #sbcl 2018-01-11T14:09:11Z guicho joined #sbcl 2018-01-11T14:10:10Z guicho: is there any reason to choose simple-array-unsigned-byte-15 over simple-array-unsigned-byte-16 ? I don't see any space usage difference. 2018-01-11T14:10:40Z attila_lendvai42 quit (Ping timeout: 260 seconds) 2018-01-11T14:12:51Z guicho: on x86-64 machines. 2018-01-11T14:14:33Z nyef``: guicho: Probably not. The reason we even have simple-array-unsigned-byte-15 is due to array type upgrading. 2018-01-11T14:14:48Z Bike joined #sbcl 2018-01-11T14:17:19Z corci: Project sbcl-master » ccl,ubuntu_trusty_64bit build #2848: FAILURE in 1 hr 8 min: http://ci.cor-lab.de/job/sbcl-master/featureset=ccl,label=ubuntu_trusty_64bit/2848/ 2018-01-11T14:21:03Z guicho: nyef: can you elabolate on it? I know when I specify some weird element type like (unsigned-byte 9) in make-array, it is upgraded. however, I don't see why it gets updated to 15 rather than 16. 2018-01-11T14:21:35Z scymtym joined #sbcl 2018-01-11T14:22:00Z scymtym_ quit (Ping timeout: 246 seconds) 2018-01-11T14:23:31Z guicho: array-tran.lisp seems the right place to look at 2018-01-11T14:24:20Z nyef``: guicho: https://web.archive.org/web/20170629032209/http://www.advogato.org/person/crhodes/diary/45.html 2018-01-11T14:25:50Z nyef``: I'm sure there's a better reference to provide, but I'm not up to finding it right now. Need to go make coffee. 2018-01-11T14:26:33Z scymtym: stassats: re changing i-t-u-p-s: i don't see a problem on x86_64. a few micro-optimizations such as efficient conversion to sec, msec, μsec, nsec would be affected, but we would probably gain some as well as lose some in that regard 2018-01-11T14:26:45Z pfdietz joined #sbcl 2018-01-11T14:26:57Z scymtym: any change may expose bugs as a bonus 2018-01-11T14:27:34Z pfdietz: Still amused by NIL-element-type arrays. 2018-01-11T14:29:43Z scymtym_ joined #sbcl 2018-01-11T14:30:54Z pfdietz: Tried to load a bunch of quicklisp packages into the current head SBCL. Not happy about that. 2018-01-11T14:32:45Z guicho: nyef: thank you. 2018-01-11T14:33:48Z |3b|: is it that ub-9 is a subtype of both sb-16 and ub-16 so needs to upgrade to something that is also a subtype of both (if both exist as specialized types) 2018-01-11T14:34:14Z pfdietz: That's right. 2018-01-11T14:34:26Z scymtym quit (Ping timeout: 276 seconds) 2018-01-11T14:39:10Z stassats: pfdietz: and i'm not amused that sbcl supports nil-typed arrays 2018-01-11T14:40:28Z karlosz quit (Quit: karlosz) 2018-01-11T14:42:43Z karlosz joined #sbcl 2018-01-11T14:42:55Z nyef``: I'm amused that nil-typed arrays apparently hate Nikodemus. 2018-01-11T14:44:43Z nyef``: (1.0.43.16, 425dd2dc04e5069689af53adfbef2671b7c1ca48 if anyone's wondering.) 2018-01-11T14:48:55Z rumbler31 joined #sbcl 2018-01-11T14:49:02Z sjl joined #sbcl 2018-01-11T14:49:26Z smurfrobot joined #sbcl 2018-01-11T14:49:42Z pfdietz: It would have been ok to not support them and state that in the documentation as a deviation from the standard. 2018-01-11T14:51:00Z stassats: like they were intentionally specified 2018-01-11T14:51:19Z guicho: nyef: the connection to nil-typed arrays was initially unclear to me, but reading generic/vm-array.lisp maybe I see it 2018-01-11T14:51:27Z nyef``: The "type lattice" thing looks to have been intentional. The consequences possibly not. 2018-01-11T14:51:36Z guicho: ;; KLUDGE: The fact that these UNSIGNED-BYTE entries come 2018-01-11T14:51:37Z guicho: ;; before their SIGNED-BYTE partners is significant in the 2018-01-11T14:51:37Z guicho: ;; implementation of the compiler; some of the cross-compiler 2018-01-11T14:51:37Z guicho: ;; code (see e.g. COERCE-TO-SMALLEST-ELTYPE in 2018-01-11T14:51:37Z guicho: ;; src/compiler/debug-dump.lisp) attempts to create an array 2018-01-11T14:51:37Z guicho: ;; specialized on (UNSIGNED-BYTE FOO), where FOO could be 7; 2018-01-11T14:51:37Z guicho: ;; (UNSIGNED-BYTE 7) is SUBTYPEP (SIGNED-BYTE 8), so if we're 2018-01-11T14:51:38Z guicho: ;; not careful we could get the wrong specialized array when 2018-01-11T14:51:38Z guicho: ;; we try to FIND-IF, below. -- CSR, 2002-07-08 2018-01-11T14:51:39Z guicho: 2018-01-11T14:51:41Z guicho: oops 2018-01-11T14:53:10Z guicho: so you mean (array (unsigned-byte 7)) exists for the same reason (array nil) exists 2018-01-11T14:53:16Z nyef``: But supporting (ARRAY NIL) was an explicit decision: It forced changes that would be required anyway in order to support unicode (or at least a difference between CHARACTER and BASE-CHAR). 2018-01-11T14:53:33Z nyef``: guicho: Yes. It's the same "recognizable subtype" thing. 2018-01-11T14:54:01Z pfdietz: Let's not get into the part where truly supporting upgrading requires also supporting subtype relationships on SATISFIES types. This would require solving the halting problem. 2018-01-11T14:54:25Z smurfrobot quit (Ping timeout: 268 seconds) 2018-01-11T14:54:56Z nyef``: guicho: Because (SIGNED-BYTE 8) and (UNSIGNED-BYTE 8) exist, upgrading (UNSIGNED-BYTE 6) needs to upgrade to a recognizable subtype of both, which is (UNSIGNED-BYTE 7). 2018-01-11T14:55:06Z pfdietz: The spec needed to make a distinction between "subtype" and "recognizable subtype". 2018-01-11T14:55:07Z nyef``: pfdietz: An unsatisfying result, but understandable. 2018-01-11T14:56:36Z pfdietz: I'm not sure why u-a-e-t needs to have that closure property. 2018-01-11T14:56:50Z pfdietz: I mean, why the spec writers thought it should. 2018-01-11T14:57:07Z guicho: was a similar problem already recognized by maclisp or zetalisp era? 2018-01-11T14:57:38Z pfdietz: I do not know. 2018-01-11T14:58:30Z oleo joined #sbcl 2018-01-11T14:58:43Z guicho: well I ask g000001 then.. 2018-01-11T15:00:23Z nyef``: Okay, how do I fix the context accessors in share-vm.lisp without just splattering them with "#!-mips unsigned #!+mips unsigned-long-long"? 2018-01-11T15:00:37Z stassats: nyef``: it forced more than that, now CHAR is needlessly slower and generating more code, and overall increased complexity and code 2018-01-11T15:01:04Z nyef``: stassats: Which generates more heat, increasing the likelyhood that you can char something on your CPU? 2018-01-11T15:01:58Z stassats: and i wouldn't even bother documenting not support NIL arrays, so silly they are 2018-01-11T15:05:13Z nyef``: ... UNSIGNED is the wrong type for (most?) context registers. 2018-01-11T15:05:52Z stassats: shouldn't it be the right type, not UNSIGNED? 2018-01-11T15:06:00Z stassats: encoding by debug-dump 2018-01-11T15:06:50Z nyef``: SUB-{ACCESS,SET}-DEBUG-VAR-SLOT applies the appropriate transforms on the return from CONTEXT-REGISTER... Or BOXED-CONTEXT-REGISTER. 2018-01-11T15:08:56Z nyef``: I want to get three things done today: fixing context register access on MIPS big-endian, fixing boxed context register access to use SAP-REF-LISPOBJ at least for reading, and getting my MIPS box to survive a full test suite run without breaking on anything stupid. 2018-01-11T15:09:18Z stassats: unsigned may be wrong on 64-bit 2018-01-11T15:09:35Z nyef``: It's right on 64-bit. It's (UNSIGNED N-WORD-BITS). 2018-01-11T15:10:23Z stassats: SB-VM> (sb-alien:alien-size unsigned) 2018-01-11T15:10:24Z stassats: 64 2018-01-11T15:10:24Z stassats: SB-VM> (sb-alien:alien-size unsigned-int) 2018-01-11T15:10:26Z stassats: 32 2018-01-11T15:10:28Z stassats: so logical 2018-01-11T15:10:43Z nyef``: It's wrong on big-endian MIPS because even the 32-bit contexts use 64-bit slots for the registers, and it's wrong on x32/n32 because 32-bit addresses (thus N-WORD-BITS) but 64-bit registers (thus N-MACHINE-WORD-BITS). 2018-01-11T15:11:11Z nyef``: Oh, and Alpha, but that's a separate matter. 2018-01-11T15:11:33Z stassats: alpha is somewhere there together with nil-arrays 2018-01-11T15:11:52Z nyef``: My mid-term planning involves an x32 port, and then updating the alpha backend for 64-bit operation. 2018-01-11T15:21:40Z nyef``: Okay, what is the "least worst" option here? 2018-01-11T15:31:00Z nyef``: Aha! Found an easy way to reproduce the crash-to-LDB thing. 2018-01-11T15:31:41Z nyef``: mprotect returned ENOMEM when I used "./run-tests.sh debug.impure.lisp core.test.sh". 2018-01-11T15:39:40Z nyef``: Bumping the maximum map count isn't helping, either. 2018-01-11T15:50:14Z smurfrobot joined #sbcl 2018-01-11T15:54:31Z BitPuffin quit (Remote host closed the connection) 2018-01-11T15:54:41Z smurfrobot quit (Ping timeout: 248 seconds) 2018-01-11T15:55:20Z rpg quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2018-01-11T15:58:57Z nyef``: Should run_sbcl_with_args supply --disable-debugger, or should that be at the (two?) call sites? 2018-01-11T15:59:37Z stassats: the separation of runtime and toplevel arguments doesn't help 2018-01-11T16:00:52Z nyef``: Ah. One of the call sites already supplies it. Guess that answers my question. 2018-01-11T16:00:56Z stassats: if you add --disable-debugger into run_sbcl_with_args, no other runtime option will work 2018-01-11T16:01:06Z stassats: unless you prefix them with something worse than --disable-debugger 2018-01-11T16:02:51Z stassats: or not even possible 2018-01-11T16:03:34Z nyef``: I've got this, there are only two call sites, and the other one already passes --disable-debugger. 2018-01-11T16:04:59Z stassats: why is there --default-merge-core-pages? 2018-01-11T16:05:22Z stassats: i can see --merge-core-pages and --no-merge-core-pages, but what's the point of --default-merge-core-pages? 2018-01-11T16:05:25Z stassats: it's already a default 2018-01-11T16:06:32Z pkhuong: the OS has its own default. 2018-01-11T16:06:42Z pkhuong: you can opt in, opt out, or leave it as is. 2018-01-11T16:07:26Z stassats: i don't see where it's anything other than -1 2018-01-11T16:07:33Z nyef``: So, it's to override a previous (subsequent?) opt-in or opt-out? 2018-01-11T16:07:41Z pkhuong: why would anyone specify it? we have this semantic where flags override previous ones. 2018-01-11T16:08:21Z stassats: why specify flags to override them? 2018-01-11T16:09:32Z pkhuong: because someone else saved a core, or the command line is generated semi programmatically. 2018-01-11T16:09:46Z stassats: it's not a saved option 2018-01-11T16:10:09Z stassats: and where is --enable-ldb and --do-not-lose-on-corruption? 2018-01-11T16:10:16Z pkhuong: I'm just saying that's the semantics that we decided on for flags. 2018-01-11T16:10:52Z pkhuong: feel free to remove the flag. 2018-01-11T16:11:05Z stassats: i'm leaning towards that, yes 2018-01-11T16:12:05Z stassats: google only finds reference for default-merge-core-pages in sbcl documentation, so, nobody knows about it 2018-01-11T16:14:16Z pkhuong: there's also only 3 references to "--merge-core-pages" outside the docs. 2018-01-11T16:18:57Z stassats: why does sbcl.1 have -*- Mode: Text -*- and not nroff? 2018-01-11T16:20:57Z stassats: or any mode at all, emacs detects it as nroff 2018-01-11T16:22:30Z stassats: for three states something like "--merge-core-pages state" could have been better than three options 2018-01-11T16:24:57Z stassats: but the only thing i can do at this point is to remove --default-merge-core-pages 2018-01-11T16:25:29Z stassats: mostly to simplify documentation 2018-01-11T16:27:03Z trittweiler joined #sbcl 2018-01-11T16:27:40Z rpg joined #sbcl 2018-01-11T16:43:01Z guicho quit (Remote host closed the connection) 2018-01-11T16:45:45Z scymtym_ quit (Remote host closed the connection) 2018-01-11T16:50:10Z scymtym joined #sbcl 2018-01-11T16:50:31Z scymtym: buildgen 2018-01-11T16:50:40Z scymtym: sorry 2018-01-11T16:51:01Z smurfrobot joined #sbcl 2018-01-11T16:53:35Z trittweiler quit (Ping timeout: 240 seconds) 2018-01-11T16:55:27Z smurfrobot quit (Ping timeout: 240 seconds) 2018-01-11T17:05:15Z rpg quit (Quit: Textual IRC Client: www.textualapp.com) 2018-01-11T17:06:39Z fortitude quit (Ping timeout: 248 seconds) 2018-01-11T17:09:18Z corci: Project sbcl-master-windows » Windows_7_32bit build #1748: FAILURE in 29 min: http://ci.cor-lab.de/job/sbcl-master-windows/label=Windows_7_32bit/1748/ 2018-01-11T17:10:16Z stassats: Unable to recommit addr 02831424 eip 0x00404514 2018-01-11T17:10:19Z stassats: huh 2018-01-11T17:30:47Z m00natic` quit (Remote host closed the connection) 2018-01-11T17:36:31Z stassats quit (Ping timeout: 248 seconds) 2018-01-11T17:45:17Z milanj quit (Quit: This computer has gone to sleep) 2018-01-11T17:49:22Z corci: Yippee, build fixed! 2018-01-11T17:49:23Z corci: Project sbcl-master-windows » Windows_7_32bit build #1749: FIXED in 29 min: http://ci.cor-lab.de/job/sbcl-master-windows/label=Windows_7_32bit/1749/ 2018-01-11T17:49:30Z karlosz quit (Quit: karlosz) 2018-01-11T17:49:43Z corci: Yippee, build fixed! 2018-01-11T17:49:44Z corci: Project sbcl-master-windows » Windows_7_64bit build #1749: FIXED in 29 min: http://ci.cor-lab.de/job/sbcl-master-windows/label=Windows_7_64bit/1749/ 2018-01-11T17:50:00Z nyef``: Hrm. sb-simple-streams broke. Which implies that I managed to do something not-quite-right somewhere along the line. /-: 2018-01-11T17:51:41Z smurfrobot joined #sbcl 2018-01-11T17:55:47Z corci: Yippee, build fixed! 2018-01-11T17:55:48Z corci: Project sbcl-master » safepoints,ubuntu_trusty_64bit build #2849: FIXED in 1 hr 16 min: http://ci.cor-lab.de/job/sbcl-master/featureset=safepoints,label=ubuntu_trusty_64bit/2849/ 2018-01-11T17:56:25Z smurfrobot quit (Ping timeout: 260 seconds) 2018-01-11T17:57:26Z milanj joined #sbcl 2018-01-11T18:04:37Z corci: Yippee, build fixed! 2018-01-11T18:04:38Z corci: Project sbcl-master » ccl,ubuntu_trusty_64bit build #2849: FIXED in 1 hr 25 min: http://ci.cor-lab.de/job/sbcl-master/featureset=ccl,label=ubuntu_trusty_64bit/2849/ 2018-01-11T18:23:44Z milanj quit (Quit: This computer has gone to sleep) 2018-01-11T18:26:13Z milanj joined #sbcl 2018-01-11T18:27:01Z milanj quit (Client Quit) 2018-01-11T18:28:47Z milanj joined #sbcl 2018-01-11T18:29:49Z fortitude joined #sbcl 2018-01-11T18:36:06Z Jesin joined #sbcl 2018-01-11T18:50:38Z stassats joined #sbcl 2018-01-11T18:52:07Z karlosz joined #sbcl 2018-01-11T18:52:29Z smurfrobot joined #sbcl 2018-01-11T18:57:11Z smurfrobot quit (Ping timeout: 240 seconds) 2018-01-11T18:58:54Z stassats: simply increasing internal-time-units-per-second doesn't work, something's not careful 2018-01-11T18:59:07Z stassats: (time (sleep 0.1)) Evaluation took: 100.068 seconds of real time 2018-01-11T19:00:08Z stassats: internal-time-units-per-second may also leak from the host 2018-01-11T19:02:22Z stassats: SB-EXT:CALL-WITH-TIMING provides a bad api, with us and ms 2018-01-11T19:03:31Z stassats: (instead of internal-time-units) 2018-01-11T19:03:42Z stassats: and it's in sb-ext, so, it's bad forever 2018-01-11T19:05:04Z nyef``: Deprecate it? 2018-01-11T19:06:56Z shka joined #sbcl 2018-01-11T19:20:15Z stassats: i think i'll have to make call-with-internal-timing and then wrap sb-ext:call-with-timing 2018-01-11T19:32:36Z milanj quit (Quit: This computer has gone to sleep) 2018-01-11T19:32:56Z karlosz quit (Quit: karlosz) 2018-01-11T19:33:41Z karlosz joined #sbcl 2018-01-11T19:34:01Z nyef``: How odd. Symbol "+PSEUDO-STATIC-GENERATION+" not found in the SB-VM package. 2018-01-11T19:34:32Z nyef``: Even more odd: Line: 73, Column: -1, File-Position: 2603 2018-01-11T19:34:43Z nyef``: How is column -1 ? 2018-01-11T19:34:58Z nyef``: And this is tests/gc.impure.lisp, if that matters. 2018-01-11T19:35:13Z stassats: you need a wider screen 2018-01-11T19:35:36Z nyef``: No, dougk needs a narrower one. d-: 2018-01-11T19:47:39Z stassats: oh hello, attempt to THROW to a tag that does not exist: SB-C::LOCALL-ALREADY-LET-CONVERTED 2018-01-11T19:48:07Z stassats: that's where ir1 copying is needed 2018-01-11T19:49:43Z stassats: deleted lambda into ir2tran, really wrong 2018-01-11T19:52:12Z milanj joined #sbcl 2018-01-11T19:53:42Z smurfrobot joined #sbcl 2018-01-11T19:58:17Z smurfrobot quit (Ping timeout: 252 seconds) 2018-01-11T20:06:09Z stassats: and another problem with local inlining 2018-01-11T20:06:14Z stassats: good, i'll have several angles 2018-01-11T20:12:06Z stassats: but i think they're all one and the same 2018-01-11T20:18:40Z stassats: i guess there's no sense in making sense of it, just need to change how maybe-expand-local-inline works 2018-01-11T20:18:48Z stassats: and see if it fixes them 2018-01-11T20:22:13Z smurfrobot joined #sbcl 2018-01-11T20:22:59Z smurfrobot quit (Remote host closed the connection) 2018-01-11T20:23:53Z stassats: C-x C-f ir1-copy.lisp 2018-01-11T20:32:12Z angavrilov quit (Remote host closed the connection) 2018-01-11T20:38:51Z scymtym quit (Ping timeout: 240 seconds) 2018-01-11T20:49:37Z corci: Project sbcl-master-windows » Windows_7_64bit build #1751: FAILURE in 29 min: http://ci.cor-lab.de/job/sbcl-master-windows/label=Windows_7_64bit/1751/ 2018-01-11T20:49:47Z stassats: boo 2018-01-11T21:01:33Z nyef``: I will probably hit my 900th commit this weekend. 2018-01-11T21:01:38Z nyef``: ... Maybe tomorrow. 2018-01-11T21:05:12Z stassats: (and (vector unknown) (eql :x)) doesn't want to be folded into NIL 2018-01-11T21:05:21Z stassats: (and (vector unknown) (eql 10)) does 2018-01-11T21:05:38Z stassats: i dread late-type.lisp 2018-01-11T21:06:03Z stassats: it's not written to be debugged or modified 2018-01-11T21:15:50Z dougk: i find that the only useful way to debug it is to load the cross-compiler and debug the cross version. Flying-spaghetti-monster help you if you modify the real code while executing 2018-01-11T21:16:49Z stassats: i chased the problem into ctypep, no late-typep to ruin the night 2018-01-11T21:22:23Z stassats: copying IR1 is tedious, i wonder if i can hijack ir1tran and make it work from ir1, not just sexps 2018-01-11T21:23:11Z stassats: it's tedious now, but will error prone going forward, so one source would be better 2018-01-11T21:23:47Z corci: Yippee, build fixed! 2018-01-11T21:23:47Z corci: Project sbcl-master » without-unicode,MAC_OS_mavericks_64bit build #2852: FIXED in 28 min: http://ci.cor-lab.de/job/sbcl-master/featureset=without-unicode,label=MAC_OS_mavericks_64bit/2852/ 2018-01-11T21:27:43Z aeth: Why is the x86-64 SBCL fixnum (signed-byte 63) specifically? Well, if it can be discovered this way: (integer-length (- most-positive-fixnum most-negative-fixnum)) => 63 2018-01-11T21:27:55Z aeth: Is there a fixnump bit or something? 2018-01-11T21:28:24Z stassats: how else would it be represented? 2018-01-11T21:29:42Z aeth: I'm just making sure I understand what's going on internally. 2018-01-11T21:29:47Z aeth: It looks like it's defined here? https://github.com/sbcl/sbcl/blob/66d2ce69b6f4c5c12f7b26b852d7305d7cf7b290/src/compiler/generic/early-vm.lisp#L26-L42 2018-01-11T21:30:25Z stassats: to really understand, just ask yourself, if fixnums are 64 bit, what other values can you have other than fixnums? 2018-01-11T21:32:02Z karlosz: aeth: fixnums used to be 61 bits on x86-64 2018-01-11T21:32:04Z aeth: stassats: well, all other implementations I'm aware of have smaller fixnums... and it's possible that some architectures could have hardware support for tagging, so it's possible that it could be 64 on some architectures 2018-01-11T21:32:23Z aeth: It looks like for SBCL it's 63 everywhere for 64-bit at the moment, though 2018-01-11T21:32:37Z stassats: but we're not talking about some architecture 2018-01-11T21:34:45Z karlosz: less tag bits for fixnums means more tag bits for other bojects 2018-01-11T21:34:54Z karlosz: different implementations choose different trade offs 2018-01-11T21:36:10Z karlosz: for example, more tag bits for objects means more constrained alignment 2018-01-11T21:36:18Z stassats: ok, i should butcher ir1-convert just yet, but make something tedious, error-prone and copy-pasted, but working first 2018-01-11T21:36:30Z stassats: since copying is not really the same as creating anew 2018-01-11T21:36:37Z stassats: i shouldn't, that is 2018-01-11T21:37:06Z White_Flame: karlosz: not really. If the low bit indicates 63-bit fixnum or not, then when it's not a fixnum the tag could be larger 2018-01-11T21:39:07Z Bike: yeah, but less larger than if you allow tags like 10 2018-01-11T21:40:01Z karlosz: i meant that if you made the lsb 0 to indicate fixnums 2018-01-11T21:40:14Z karlosz: all other objects have to have lsb 1 2018-01-11T21:40:24Z karlosz: and hence no object could have 10 2018-01-11T21:40:35Z White_Flame: ok, yeah 2018-01-11T21:41:20Z White_Flame: but still, 1 bit for fixnum or not, then an additional N bits for tags when it's not a fixnum 2018-01-11T21:41:22Z karlosz: stassats: will the copied ir1 thing share any structure with the original? 2018-01-11T21:42:05Z aeth: is there a way to find out how large N is? 2018-01-11T21:42:24Z stassats: aeth: in what font? 2018-01-11T21:42:43Z aeth: I was referring to the N bits in White_Flame's comment 2018-01-11T21:42:52Z aeth: Is there a limit to how long the tag can go? 2018-01-11T21:43:02Z stassats: 64-bits 2018-01-11T21:43:08Z aeth: well, 63, right? 2018-01-11T21:43:12Z aeth: Because it has to be tagging something? 2018-01-11T21:43:15Z White_Flame: theoretically, you can use multiple words to go as long as you want 2018-01-11T21:43:17Z aeth: ah 2018-01-11T21:43:35Z White_Flame: just with some policy (tied in with the GC) for how long of a dynamically expanded tag/pointer/number you have 2018-01-11T21:44:51Z karlosz: tagged pointers are supposed to be a compact way of encoding tags 2018-01-11T21:44:57Z karlosz: rather than just having seperate words 2018-01-11T21:45:03Z karlosz: but they impose alignment constraints 2018-01-11T21:45:13Z karlosz: for example, if all objects are tagged with 2 bits 2018-01-11T21:45:52Z karlosz: then they need to be aligned to 8 byte boundraries 2018-01-11T21:46:16Z stassats: that is if you are tagging pointers 2018-01-11T21:46:59Z karlosz: right, tagged pointers 2018-01-11T21:46:59Z stassats: characters and single-floats are stored immediately 2018-01-11T21:47:01Z nyef``: aeth: Note that you can change n-fixnum-tag-bits to 2 on a 64-bit platform, and things should still work. 2018-01-11T21:47:07Z karlosz: and then theres the whole buisness with unboxed objects 2018-01-11T21:47:20Z White_Flame: you can also shift things afterwards to trade off between addressing resolution and addressing space 2018-01-11T21:47:29Z stassats: so you can have three classes of tags, pointers, fixnums, and immediate 2018-01-11T21:47:31Z White_Flame: *addressable space 2018-01-11T21:48:38Z White_Flame: 68000 platforms had 32-bit registers with a 24-bit hardware address space, so presumably somebody used high tag bits to twiddle around that platform, which wouldn't affect granularity at all 2018-01-11T21:49:31Z nyef``: White_Flame: Classic MacOS did precisely that: The memory manager stored flag bits in the high part of handle values. 2018-01-11T21:49:35Z karlosz: jsnell has a good historical overview 2018-01-11T21:49:38Z Jesin quit (Ping timeout: 255 seconds) 2018-01-11T21:49:39Z karlosz: https://www.snellman.net/blog/archive/2017-09-04-lisp-numbers/ 2018-01-11T21:57:44Z shka quit (Ping timeout: 276 seconds) 2018-01-11T21:58:24Z Intensity quit (Ping timeout: 246 seconds) 2018-01-11T22:00:11Z scymtym joined #sbcl 2018-01-11T22:09:27Z nyef`` tries to find seven commits worth of stuff that he can do in the next six hours. 2018-01-11T22:09:50Z stassats: before sbcl turns into a pumpkin? 2018-01-11T22:10:23Z nyef``: Basically, yeah. 2018-01-11T22:10:57Z nyef``: I think I've got three or four easy wins, at least. 2018-01-11T22:18:20Z sjl quit (Ping timeout: 260 seconds) 2018-01-11T22:31:32Z Intensity joined #sbcl 2018-01-11T22:46:57Z rumbler31 quit (Ping timeout: 240 seconds) 2018-01-11T22:50:11Z Jesin joined #sbcl 2018-01-11T22:53:27Z stassats quit (Ping timeout: 240 seconds) 2018-01-11T22:54:19Z Bike quit (Ping timeout: 260 seconds) 2018-01-11T22:56:15Z stassats joined #sbcl 2018-01-11T23:05:28Z attila_lendvai42 joined #sbcl 2018-01-11T23:25:18Z Bike joined #sbcl 2018-01-11T23:38:37Z stassats: ugh, (sb-kernel:type/= (sb-kernel:specifier-type '(and nonsense (unsigned-byte 8))) (sb-kernel:specifier-type '(and nonsense integer))) => NIL, NIL 2018-01-11T23:39:02Z stassats: so derive-node-type punts 2018-01-11T23:39:25Z stassats: changing type/= to (unless type= 2018-01-11T23:41:09Z rumbler31 joined #sbcl 2018-01-11T23:44:27Z attila_lendvai42 quit (Ping timeout: 240 seconds) 2018-01-11T23:44:42Z stassats: and it doesn't build 2018-01-11T23:45:57Z rumbler31 quit (Ping timeout: 264 seconds) 2018-01-11T23:49:06Z stassats: catching something in unreachable code 2018-01-11T23:49:52Z stassats: and it's kinda right 2018-01-11T23:52:35Z stassats: (sb-kernel:type/= (specifier-type '(and (satisfies evenp) integer)) (specifier-type '(and (satisfies evenp) real))) => NIL, NIL 2018-01-11T23:52:50Z stassats: so node-derived-type stopped deriving on satisfies 2018-01-11T23:53:18Z stassats: with-array-data uses satisfies, so it doesn't work well when it's run on simple arrays 2018-01-11T23:53:54Z stassats: non-simple, since it branches on simple/non-simple, and one branch now conflicts, since i can derive types with satisfies around 2018-01-11T23:54:11Z stassats: a pickle 2018-01-11T23:56:25Z stassats: with-array-data uses ARRAY-HEADER-P for protection 2018-01-11T23:58:56Z attila_lendvai42 joined #sbcl 2018-01-11T23:59:56Z stassats: alright, better array-header-p derivation