2016-09-03T00:00:42Z xristos quit (Remote host closed the connection) 2016-09-03T00:10:35Z oleo_ joined #sbcl 2016-09-03T00:13:52Z oleo quit (Ping timeout: 240 seconds) 2016-09-03T00:16:00Z csziacobus quit (Quit: csziacobus) 2016-09-03T00:58:11Z cromachina: hello all. in LDB, the search function takes a TYPE as an argument, but this is expected to be a numerical value. is there a way to discover said value for an actual lisp type? 2016-09-03T00:58:33Z cromachina: say some struct type defined in a package 2016-09-03T00:59:50Z cromachina: the context is that i exhausted memory and have a hunch of what did it (like an ever growing queue) and am looking to confirm my suspicions 2016-09-03T01:02:24Z attila_lendvai quit (Ping timeout: 260 seconds) 2016-09-03T01:19:24Z nyef: cromachina: I'd suspect that TYPE is a widetag value, but I'm not at all certain. 2016-09-03T01:20:40Z nyef: ... Yeah, it's a widetag value. 2016-09-03T01:21:04Z cromachina: where is that documented? the source? 2016-09-03T01:21:11Z nyef: If you did your own SBCL build, check output/genesis/constants.h or src/runtime/genesis/constants.h. 2016-09-03T01:21:31Z nyef: Sorry, output/genesis-2/constants.h. 2016-09-03T01:22:45Z cromachina: using a prebuilt, part of my system's packages 2016-09-03T01:23:02Z nyef: Otherwise, src/compiler/generic/early-objdef.lisp, but be aware that the comments with the values may be out-of-date, so it'd be better to look up the value name that you want and then fire up another SBCL instance to check the value (the symbols will all be in the SB-VM package). 2016-09-03T01:23:36Z nyef: Umm... And if you're looking for CONSes, it's not really going to work well. 2016-09-03T01:23:48Z nyef: (CONS cells are headerless on the heap.) 2016-09-03T01:24:57Z cromachina: but if i can find the head of some chain of cons cells, i can probably try to navigate it 2016-09-03T01:25:13Z nyef: Sure, that's fair. 2016-09-03T01:33:06Z stassats: it's probably easier to look for it in your code, not through ldb 2016-09-03T01:34:22Z cromachina: as you said that, i think i found the leak in my code 2016-09-03T01:38:43Z nyef: Are we supposed to get build failures on STYLE-WARNING, or are they just ugly? 2016-09-03T01:42:33Z sjl quit (Read error: Connection reset by peer) 2016-09-03T01:48:51Z karswell quit (Remote host closed the connection) 2016-09-03T01:51:32Z em1l joined #sbcl 2016-09-03T01:52:55Z stassats: was too lazy to set up cross compilation for arm32 2016-09-03T01:53:02Z stassats: and now i'm ready to flip the table 2016-09-03T01:53:23Z nyef: Build taking too long? 2016-09-03T01:53:24Z stassats: another typo, another slow cycle, i would've been finished an hour ago 2016-09-03T01:53:33Z nyef: Mmm. I know how that goes. 2016-09-03T01:53:48Z stassats: i just didn't want to change the scripts from arm64 2016-09-03T01:54:19Z nyef: I think I'm on my third HPPA build of the day. 2016-09-03T01:54:34Z nyef: On the upside, at least my HPPA box isn't a completely slow ass-piece of crap. 2016-09-03T01:54:36Z em1l_ quit (Ping timeout: 244 seconds) 2016-09-03T01:54:57Z stassats: i rarely work on arm32 that it didn't warrant xc scripts 2016-09-03T01:56:16Z stassats imagines building on ipad pro 2016-09-03T02:00:48Z stassats: ok, look like i finally got it, running tests and pushing 2016-09-03T02:01:09Z stassats: won't make the same mistake for mips, especially considering that it's much slower 2016-09-03T02:02:00Z nyef: Mmm. I was absolutely shocked at how long the MIPS builds were taking earlier. 2016-09-03T02:02:15Z nyef: At least using the VPN box was faster, though. 2016-09-03T02:06:42Z npatrick04 joined #sbcl 2016-09-03T02:07:12Z stassats: undefined_tramp on sparc is strange 2016-09-03T02:07:23Z nyef: Oh? 2016-09-03T02:07:45Z nyef: ... I thought I was doing the sparc version? 2016-09-03T02:08:02Z stassats: well, it can still be strange, can't it? 2016-09-03T02:08:08Z nyef: Ah, the use of trap_Cerror, and the extra code after the trap? 2016-09-03T02:08:37Z stassats: i wanted actually to remove trap_Cerror altogether recently 2016-09-03T02:08:45Z stassats: but after all the dust settles 2016-09-03T02:08:54Z stassats: but yeah, some branch delay stuff? 2016-09-03T02:09:06Z nyef: I'd like to actually make use of trap_Cerror. 2016-09-03T02:09:21Z stassats: continuable internal errors? 2016-09-03T02:09:24Z nyef: Yes! 2016-09-03T02:09:26Z stassats: dubious 2016-09-03T02:09:39Z nyef: It takes a bit of setting up, but I've made it work a time or two. 2016-09-03T02:09:51Z nyef: USE-VALUE restarts for things, for example. 2016-09-03T02:10:40Z stassats: updating the register in the trap? 2016-09-03T02:11:33Z stassats: is there a guarantee that it's not a copy? 2016-09-03T02:12:18Z stassats: anyway, if you can have continuable trap_Cerror, trap_Error can be continuable 2016-09-03T02:12:27Z stassats: so, no need to have two 2016-09-03T02:13:07Z nyef: The guarantee that it's not a copy is that the trap code uses the version from the register. The point of separate trap_Cerror from trap_Error is so that you can skip the continuation code on low debug. 2016-09-03T02:13:56Z nyef sighs. 2016-09-03T02:14:20Z nyef: I'm not seeing the hacks that I did for USE-VALUE restarts on undefined-function. 2016-09-03T02:14:47Z nyef: They must be buried in some odd repository somewhere. 2016-09-03T02:15:33Z nyef: It got pretty hacky with the way that I set up write access to the error parameters. 2016-09-03T02:18:19Z nyef: ... I think that there was a SYMBOL-MACROLET involved so that I could FLET some SETF-functions. 2016-09-03T02:21:20Z stassats: so, i have (defun foo (x) (the (integer 10 20) x) (print 10) x) 2016-09-03T02:21:39Z stassats: X in the end is loaded from the stack which was saved before the type check 2016-09-03T02:23:14Z nyef: Right, because you are ignoring the return value of the type check. 2016-09-03T02:23:56Z nyef: Now, we might be able to do better with a declare type, or if the value of THE were actually used. 2016-09-03T02:24:21Z nyef: We'd basically have to make some level of commitment to improving the debugging experience overall. 2016-09-03T02:24:31Z slyrus joined #sbcl 2016-09-03T02:24:34Z stassats: ok, have (defun foo (x) (print (the fixnum x)) x) 2016-09-03T02:26:13Z nyef: The USE-VALUE restart would apply to the (THE FIXNUM X) form, but if you want to change the return value you also need to set X explicitly. 2016-09-03T02:26:30Z nyef: Or we start to make more complicated arrangements. 2016-09-03T02:27:07Z stassats: it's not that i want to change the return value 2016-09-03T02:27:22Z stassats: (defun foo (x) (print (the fixnum x)) (1+ x)) 2016-09-03T02:27:54Z stassats: if you continue and X is still 'a, there won't be a second type check 2016-09-03T02:27:58Z nyef: Ahh, right, the constraint propagation aspect. 2016-09-03T02:28:27Z nyef: Which immediately says that doing this for typechecks is going to take some careful thought. 2016-09-03T02:30:01Z stassats: ok, what's left, undefined functions? don't need even any instrumenting 2016-09-03T02:30:29Z stassats: that actually intrigues me 2016-09-03T02:31:31Z nyef: There are two places that the system signals an undefined-function error. One of them is the undefined-tramp, the other is for a value reference to a function. 2016-09-03T02:31:40Z nyef: FDEFN-FUN or something like that. 2016-09-03T02:33:38Z stassats: but you can just call the function again/the right function without the need to instrument the caller code 2016-09-03T02:33:44Z stassats: so, i might try implementing that 2016-09-03T02:34:14Z nyef: Takes up stack space, plus an active debugger which alters the dynamic environment. 2016-09-03T02:34:24Z jbalint: http://pastebin.com/RrjXm8xk 2016-09-03T02:34:29Z jbalint: how do i give this more memory? 2016-09-03T02:34:40Z stassats: --dynamic-space-size 2016-09-03T02:35:29Z nyef: Oh, HELL. Undefined functions NEVER worked right on HPPA/HPUX. 2016-09-03T02:36:20Z jbalint: thanks stassats 2016-09-03T02:36:54Z npatrick04 quit (Ping timeout: 260 seconds) 2016-09-03T02:37:17Z stassats: nyef: undefined-tramp can be instrumented 2016-09-03T02:37:37Z stassats: for "free" 2016-09-03T02:40:42Z stassats: read-only-tramps on arm are in 2016-09-03T02:42:10Z stassats: huh, why does undefined-tramp have "ret" 2016-09-03T02:45:11Z nyef: Still working on the HPPA mess. 2016-09-03T02:45:20Z nyef: Not sure I'm going to finish this tonight. 2016-09-03T02:45:46Z nyef: My brain is a bit fried, and most of the HPPA assembly that I knew has been paged out. 2016-09-03T02:46:17Z stassats: more people have walked on the moon than run sbcl on hppa 2016-09-03T02:46:24Z nyef: Heh! 2016-09-03T02:46:46Z nyef: But more people have run SBCL on HPPA than walked on the moon during that first trip! 2016-09-03T02:48:29Z stassats: you wanted to remove mips-assem.S, what if we tackle ppc-assem.S first? 2016-09-03T02:48:36Z stassats: that way there is a purpose, an AIX port 2016-09-03T02:49:57Z nyef: I proposed mips-assem.S because it would be easier to remove. 2016-09-03T02:50:19Z stassats: no threads? 2016-09-03T02:50:24Z nyef: ppc-assem.S has the floating-point save/restore for gencgc. 2016-09-03T02:50:56Z stassats: well, it's not any harder than call_into_lisp, is it? 2016-09-03T02:51:05Z nyef: I suppose not. 2016-09-03T02:51:16Z stassats: in fact, it'll be better in lisp 2016-09-03T02:51:21Z stassats: all that repition 2016-09-03T02:52:08Z stassats: so fed up with repetition didn't want to write "ti" twice 2016-09-03T02:52:10Z nyef: The other bit is the fun-end breakpoint magic. Aside from the debug-int changes to cover that, there's also the minor fact that the ppc version is the exemplar explanation. 2016-09-03T02:52:19Z rszeno quit (Read error: Connection reset by peer) 2016-09-03T02:53:38Z nyef: Basically, though, there's only something like three or four things referred to from C code, so you swap them out for inline assembly or make them function pointers and get them initialized properly somehow. 2016-09-03T02:54:12Z stassats: just use the old genesis? 2016-09-03T02:54:15Z nyef: Everything else (call_into_c, the fun-end-breakpoint magic) is only referred to from lisp, so bouncing it to read-only space should be easy. 2016-09-03T02:55:17Z stassats: i need to try sb-dynamic-core, it's one of the reasons for read-only-tramps 2016-09-03T02:55:38Z nyef: Easiest thing for "proper initialization" is probably to bung them into static symbols during genesis. 2016-09-03T02:56:32Z stassats: their address would be known, just write it out into some .h? 2016-09-03T02:57:17Z nyef: The address of the new routines wouldn't be known until genesis-2. 2016-09-03T02:57:28Z nyef: But a static symbol address is known during genesis-1. 2016-09-03T02:57:52Z stassats: ok, whichever 2016-09-03T02:58:02Z nyef: Another option would be to put them in the core header. 2016-09-03T02:59:52Z nyef: And I definitely don't have the head to figure out what's going on with this assembly code tonight. It'll have to wait until tomorrow. 2016-09-03T03:00:02Z oleo_ quit (Changing host) 2016-09-03T03:00:03Z oleo_ joined #sbcl 2016-09-03T03:00:07Z oleo_ is now known as oleo 2016-09-03T03:01:17Z stassats: which assembly code? 2016-09-03T03:01:51Z nyef: The undefined tramp for HPPA. 2016-09-03T03:02:27Z stassats: it seems rather simple 2016-09-03T03:02:33Z nyef: Oof. SPARC undefined tramp has the same basic problem. 2016-09-03T03:03:40Z nyef: It's not that simple. There's a certain amount of setup that the debugger expects that isn't yet done on all backends. 2016-09-03T03:04:01Z stassats: so, it's not assembly code, just having a code objec 2016-09-03T03:04:02Z stassats: t 2016-09-03T03:04:17Z nyef: The MIPS version has the right code, and explanation. 2016-09-03T03:04:17Z stassats: well, just copy one of the other tramps 2016-09-03T03:05:21Z nyef: Sure, I cribbed the PPC version. But an HPPA isn't a PPC, so I need to fix up the assembly code, and I just can't think through that right now. 2016-09-03T03:05:40Z nyef: And there's no way in hell I'm firing up my SPARC if I have to be anywhere near it. (-: 2016-09-03T03:07:11Z stassats: sb-dynamic-core didn't go so well on arm64 2016-09-03T03:07:34Z stassats: well, why do i even need, i already finished the port, sigh 2016-09-03T03:07:55Z stassats: it would've saved me a day 2016-09-03T03:12:43Z stassats: nyef: actually, we may change the way trumps are set up 2016-09-03T03:13:24Z stassats: no need to point CODE to the tramp code, just check that PC is within the tramp 2016-09-03T03:13:47Z stassats: well, that's what x86oids do 2016-09-03T03:14:06Z nyef: x86oids are "special". 2016-09-03T03:14:41Z stassats: this whole undefined code-tn signalling is pretty convoluted 2016-09-03T03:14:56Z stassats: it'll make your head spin if you try to follow it 2016-09-03T03:15:08Z stassats: so, removing that would make things simple 2016-09-03T03:15:10Z stassats: r 2016-09-03T03:18:59Z nyef: That's not why my head is spinning. d-: 2016-09-03T03:19:35Z stassats: and then there is build_fake_control_stack_frames 2016-09-03T03:35:52Z stassats: alloc_tramp should be moved next, unnecessary indirection when using sb-dynamic-core 2016-09-03T03:36:20Z stassats: well, necessary, but wasteful 2016-09-03T03:40:46Z nyef: That's pretty much x86oids only, though, right? 2016-09-03T03:40:56Z stassats: arm too 2016-09-03T03:40:58Z stassats: arms 2016-09-03T03:41:13Z nyef: ... Wait. The other platforms all take a trap on allocation overflow, don't they? 2016-09-03T03:41:21Z stassats: can't say 2016-09-03T03:41:23Z nyef: If so, why do they need the FPU state save logic? 2016-09-03T03:45:32Z stassats: LINKFLAGS += -Wl,--export-dynamic was missing on arm64 2016-09-03T03:46:04Z stassats: need to try to do add it only conditionally 2016-09-03T04:02:28Z jackc-_ joined #sbcl 2016-09-03T04:02:44Z jackc- quit (Read error: Connection reset by peer) 2016-09-03T04:03:40Z stassats: nyef: alloc doesn't actually perform gcing 2016-09-03T04:03:58Z stassats: and fpu_save is only used for printing stats 2016-09-03T04:04:24Z stassats: i think it's from the good old days when C code didn't use simd instructions 2016-09-03T04:04:36Z stassats: so, i think it needs to go 2016-09-03T04:09:59Z nyef: Right, I'm not even going to try to figure that out tonight. 2016-09-03T04:10:09Z stassats: i'm just axing them 2016-09-03T04:10:57Z DavidGu joined #sbcl 2016-09-03T04:11:04Z DavidGu quit (Client Quit) 2016-09-03T04:12:45Z stassats: and i just love removing code 2016-09-03T04:16:44Z stassats: Save and reset FP state during the execution of print_generation_stats. This is necessary when this function is called directly from the allocation routines on a failure and the FP state is setup for Lisp. 2016-09-03T04:16:51Z stassats: what does that mean "setup for Lisp"? 2016-09-03T04:19:31Z nyef: The... x87 FPU state is maintained differently between SBCL's lisp code and the C ABI. 2016-09-03T04:20:11Z nyef: SBCL treats it as registers, but the ABI calls for a stack, and then there's the extended/standard precision flag. 2016-09-03T04:21:34Z stassats: so, it only ever makes sense for x87? 2016-09-03T04:21:46Z stassats: but infected other backends? 2016-09-03T04:22:35Z nyef: Are you surprised? 2016-09-03T04:22:40Z stassats: no... 2016-09-03T04:22:52Z stassats: ok, leaving it for x86 2016-09-03T04:23:13Z nyef: If there's a direct call from Lisp to C without spilling the FPU registers, then the state will still need to be saved on other platforms. 2016-09-03T04:23:21Z stassats: but wait, it claims to use FP, does it really? 2016-09-03T04:23:26Z nyef: So we might need to go through this on a per-platform basis. 2016-09-03T04:24:33Z stassats: generation_average_age 2016-09-03T04:25:15Z nyef: Computing it, plus the printf() output, yes. 2016-09-03T04:25:32Z stassats: collect_garbage also calls generation_average_age 2016-09-03T04:25:51Z stassats: no saves there 2016-09-03T04:25:57Z stassats: and that is actually called directly from lisp 2016-09-03T04:26:07Z nyef: Via call_into_c or not? 2016-09-03T04:26:16Z stassats: call_into_c 2016-09-03T04:26:36Z nyef: That's fine, the FPU registers would be spilled anyway, and call_into_c does the FPU mode dance. 2016-09-03T04:27:05Z stassats: ok, so how come it's needed for write_generation_stats then? 2016-09-03T04:27:24Z stassats goes spelunking 2016-09-03T04:30:44Z nyef: Good luck... and G'night. 2016-09-03T04:31:16Z stassats: ok, heap-exhausted-error can be called from within alloc 2016-09-03T04:31:24Z stassats: which will write_generation_stats 2016-09-03T04:33:48Z stassats: ok, just leaving it for x86 2016-09-03T04:38:14Z luis` quit (Ping timeout: 260 seconds) 2016-09-03T04:39:59Z luis joined #sbcl 2016-09-03T04:53:15Z whiteline quit (Remote host closed the connection) 2016-09-03T05:00:03Z gingerale joined #sbcl 2016-09-03T05:04:43Z stassats quit (Ping timeout: 252 seconds) 2016-09-03T05:52:32Z Quadrescence quit (Quit: Leaving) 2016-09-03T05:56:11Z Quadrescence joined #sbcl 2016-09-03T06:06:18Z edgar-rft quit (Quit: edgar-rft) 2016-09-03T07:49:42Z angavrilov joined #sbcl 2016-09-03T08:37:12Z Bike quit (Quit: seek medical attention) 2016-09-03T08:59:23Z rumbler31 joined #sbcl 2016-09-03T09:03:33Z rumbler31 quit (Ping timeout: 240 seconds) 2016-09-03T11:11:20Z oleo quit (Quit: Leaving) 2016-09-03T11:30:59Z oleo joined #sbcl 2016-09-03T11:44:33Z sjl joined #sbcl 2016-09-03T12:28:56Z cromachina quit (Read error: Connection reset by peer) 2016-09-03T12:47:06Z schjetne_ joined #sbcl 2016-09-03T12:47:51Z schjetne quit (Ping timeout: 264 seconds) 2016-09-03T13:12:27Z stassats joined #sbcl 2016-09-03T13:15:45Z chris_l joined #sbcl 2016-09-03T13:27:40Z myrkraverk quit (Remote host closed the connection) 2016-09-03T13:43:41Z gargaml quit (Quit: WeeChat 1.5) 2016-09-03T13:57:22Z chris_l quit (Quit: Ex-Chat) 2016-09-03T14:46:29Z nyef: G'morning all. 2016-09-03T14:47:28Z nyef: On my first HPPA build for the day, which (if it works) should fix (BACKTRACE UNDEFINED-FUNCTION BUG-{353,346}). And have undefined-tramp in read-only space. 2016-09-03T14:48:30Z myrkraverk joined #sbcl 2016-09-03T14:51:40Z stassats: making cross scripts for mips 2016-09-03T14:52:44Z nyef notes that HPPA is one of the ports that will probably always have an arch-assem.S file. 2016-09-03T14:53:00Z stassats: reason being? 2016-09-03T14:53:45Z nyef: HPUX sticks the heap space in a different segment from the runtime, so we need to do an inter-segment jump to switch between C and lisp. 2016-09-03T14:55:01Z stassats: well, i don't really care either way 2016-09-03T14:55:24Z stassats: i want ppc-assem.S (aix) and x86oids-assem.S (building with visual studio) gone 2016-09-03T14:57:08Z nyef: Fair enough. 2016-09-03T15:12:15Z stassats: ok, success cross building mips 2016-09-03T15:12:29Z stassats: took me less time to set up the scripts than it would have taken to make a full mips build 2016-09-03T15:12:45Z stassats: one of the few cases where automation actually saves time 2016-09-03T15:13:11Z stassats: https://xkcd.com/1319/ 2016-09-03T15:13:22Z stassats: or https://xkcd.com/1205/ 2016-09-03T15:13:35Z nyef: Mmm. 2016-09-03T15:13:43Z stassats: or https://xkcd.com/974/ 2016-09-03T15:14:21Z nyef: Ugh. Damned five-bit signed immediate fields. /-: 2016-09-03T15:40:28Z stassats: "Memory fault at (nil) (pc=(nil), sp=(nil))" 2016-09-03T15:40:33Z stassats: oh well, nothing ever works the first time 2016-09-03T15:54:02Z stassats: huh, i actually don't see my tramps in the cold map 2016-09-03T15:54:58Z nyef: That seems odd, somehow, but not entirely implausible. 2016-09-03T15:55:43Z stassats: why doesn't make-host-2 complain then? 2016-09-03T15:56:18Z jbalint left #sbcl 2016-09-03T15:56:48Z nyef: If it's "just" the map file, and not the core file that's affected? 2016-09-03T15:57:06Z stassats: well, obviously the core doesn't have them either 2016-09-03T15:57:14Z nyef: Ah, that's another matter. 2016-09-03T15:57:38Z nyef: You've verified, using a hex dump utility or similar? 2016-09-03T15:58:04Z nyef: Oh! Did you set the read-only-tramps feature? 2016-09-03T15:58:10Z stassats: well, of course 2016-09-03T15:58:16Z stassats: it's even in *features* 2016-09-03T15:58:19Z nyef: Hrm. 2016-09-03T15:59:01Z stassats: but no tramps in *assembler-routines* 2016-09-03T15:59:08Z nyef: And the tramps are in src/assembly/target/tramps.lisp ? 2016-09-03T15:59:26Z stassats: well, yes 2016-09-03T15:59:38Z nyef: Weird. 2016-09-03T16:01:02Z nyef: Oh. The undefined-tramp will get substituted with a zero during genesis-1. That might affect something if it triggers inappropriately. 2016-09-03T16:01:06Z stassats: make-host-2 actually does complain, but not strongly enough 2016-09-03T16:07:09Z stassats: time to put something bad into tramps 2016-09-03T16:08:19Z stassats: oh you're kidding me, i have an older git tree? 2016-09-03T16:08:27Z stassats: but i did git pull! 2016-09-03T16:09:45Z nyef: Wrong upstream? 2016-09-03T16:10:15Z nyef: First thing I check after doing a pull on a repository that I haven't used in a while: Did it pull what I expected it to? 2016-09-03T16:11:54Z stassats: probably didn't notice that it refused to merge 2016-09-03T16:13:23Z nyef: "The foreign symbol "undefined_tramp" is undefined". Lovely. 2016-09-03T16:14:00Z nyef: Okay, feature is there at least. 2016-09-03T16:15:24Z nyef: "This build for sure!" 2016-09-03T16:15:43Z stassats: i forgot to remove "something bad" 2016-09-03T16:16:21Z stassats: undefined insts get translated into NIL, what's up with that? 2016-09-03T16:16:32Z stassats off to shave some yaks 2016-09-03T16:17:47Z edgar-rft joined #sbcl 2016-09-03T16:19:40Z Bike joined #sbcl 2016-09-03T16:20:42Z dougk_ quit (Ping timeout: 250 seconds) 2016-09-03T16:24:19Z stassats: ok, saner INST, recompiling again 2016-09-03T16:24:38Z stassats: and now i know that NIL means undefined instruction, yesterday i wasted several minutes on it 2016-09-03T16:27:03Z stassats: ok, word doesn't like fixups 2016-09-03T16:27:37Z nyef: Had that on PPC. 2016-09-03T16:28:25Z nyef: The commit with the change should be fairly recent, it was part of the initial read-only-tramps work. 2016-09-03T16:31:01Z stassats: now it doesn't like :absolute fixups 2016-09-03T16:31:34Z nyef: A little more involved, you'll need to add them to genesis and code/target-vm, IIRC. 2016-09-03T16:31:54Z stassats: yeah, i know 2016-09-03T16:32:22Z nyef: Right, you've also done a full backend, so you'll know these things. 2016-09-03T16:32:33Z dougk_ joined #sbcl 2016-09-03T16:35:23Z stassats: whaddayknow, the tramps themselves actually work 2016-09-03T16:35:27Z stassats: at least undefined function 2016-09-03T16:35:39Z nyef: Magic! 2016-09-03T16:35:46Z stassats: and funcallable-instance 2016-09-03T16:35:59Z stassats: so, sometimes it does work for the first time, for some values of "first" 2016-09-03T16:36:07Z nyef: Heh. 2016-09-03T16:36:34Z nyef: You might run tests/debug.impure.lisp to make sure that the undefined-function backtrace stuff hasn't broken. 2016-09-03T16:37:20Z stassats: haven't included closure-tramp yet 2016-09-03T16:38:11Z npatrick04 joined #sbcl 2016-09-03T16:40:39Z stassats: and of course, closure-tramp is broken 2016-09-03T16:44:33Z nyef: ... Because you cribbed from a tagged version on a non-tagged platform, or because you forgot about the branch-delay slot? 2016-09-03T16:44:50Z nyef: ... Or you tried to write out the LOADW operations long-hand? 2016-09-03T16:45:14Z stassats: used a wrong register 2016-09-03T16:45:19Z nyef: Ah. 2016-09-03T16:45:46Z stassats: also closure_tramp didn't seem to use a delay NOP, but funcallable-instance did 2016-09-03T16:45:56Z stassats: i sprinkled them to both 2016-09-03T16:46:02Z stassats: (originally) 2016-09-03T16:46:34Z stassats: nop is 0, that's why it worked 2016-09-03T16:47:37Z stassats: alright, building contribs, running tests, doing a full build and then pushing 2016-09-03T16:47:42Z stassats: (that's going to take a while) 2016-09-03T16:47:50Z stassats: (more if there are problems) 2016-09-03T16:50:13Z nyef: You may yet be done with that before I am with this. 2016-09-03T16:51:15Z stassats: and that'll be my last read-only-tramps contribution 2016-09-03T16:51:23Z stassats: ran out of architectures 2016-09-03T16:58:30Z npatrick04 quit (Ping timeout: 276 seconds) 2016-09-03T17:04:49Z nyef: Ah, right, no LINKAGE-TABLE. No wonder this didn't break already. 2016-09-03T17:07:10Z stassats: but tramps aren't linkage-tabled 2016-09-03T17:25:05Z nyef: Have a look at make-lisp-obj in debug-int.lisp. The reference to "undefined_tramp". 2016-09-03T17:25:54Z nyef: If there is no undefined_tramp foreign symbol, the linkage-table mechanism comes into play. If there is no linkage-table, *boom*. 2016-09-03T17:26:08Z nyef: Guess which platforms don't have linkage table? 2016-09-03T17:26:34Z nyef: (Alpha and HPPA.) 2016-09-03T17:27:11Z stassats: but i changed make-lisp-obj 2016-09-03T17:27:48Z nyef: How recently? 2016-09-03T17:28:20Z stassats: this morning 2016-09-03T17:28:27Z attila_lendvai joined #sbcl 2016-09-03T17:28:27Z attila_lendvai quit (Changing host) 2016-09-03T17:28:27Z attila_lendvai joined #sbcl 2016-09-03T17:28:48Z nyef: Ah. Clearly, I need to rebase. 2016-09-03T17:29:54Z nyef: debug-fun-from-pc looks a bit iffy, btw. 2016-09-03T17:30:09Z nyef: Oh! Nevermind, was reading it wrong. 2016-09-03T17:33:59Z slyrus quit (Ping timeout: 265 seconds) 2016-09-03T17:35:03Z slyrus joined #sbcl 2016-09-03T17:48:02Z nyef: Building again, hopefully the last build for this changeset. 2016-09-03T17:54:24Z stassats: ok, some backtrace failures, but more surprising, callback failures 2016-09-03T17:54:44Z nyef: Are you on the no-arch-assem.S thing? 2016-09-03T17:54:59Z stassats: no, just read-only-tramps 2016-09-03T17:55:03Z nyef: Hunh. 2016-09-03T17:55:11Z stassats: will check it out a bit later 2016-09-03T17:56:15Z nyef: Clearly, my telepathic debugger isn't working right today. (-: 2016-09-03T18:36:38Z nyef: Running test suite. 2016-09-03T18:44:12Z nyef: (Okay, abridged test suite, because there's a bug that causes the compiler to just Give Up partway through the arith tests otherwise.) 2016-09-03T18:49:50Z stassats: interstingly, my backtrace failure only when the undefined is called with one argument 2016-09-03T18:51:13Z nyef: ... Which platform, and is it upstream yet? 2016-09-03T18:51:20Z stassats: not upstream 2016-09-03T18:51:42Z nyef: Sounds like a problem with the register-arg case when building the stack frame. 2016-09-03T18:56:56Z npatrick04 joined #sbcl 2016-09-03T19:00:24Z nyef: Damn. Two new failures, and two failures that should have been fixed recurred. 2016-09-03T19:00:47Z nyef: Ugh. Only trigger when run as part of the full suite? WTF? 2016-09-03T19:06:39Z stassats: undefined_tramp on mips actually tried to be restartable 2016-09-03T19:07:00Z nyef: www.lisphacker.com/temp/sbcl-0.9.13-combined-restarts-take2-x86only.patch 2016-09-03T19:07:09Z nyef: Found my previous restart thing. 2016-09-03T19:09:41Z npatrick04 quit (Ping timeout: 265 seconds) 2016-09-03T19:24:39Z stassats: ok, that fixed, doing a full build and running tests again 2016-09-03T19:26:14Z stassats: Failure: callback.impure.lisp / CALL-INT-DOUBLE-CALLBACK 2016-09-03T19:26:15Z stassats: Failure: callback.impure.lisp / CALL-FLOAT-FLOAT-DOUBLE-CALLBACK 2016-09-03T19:26:15Z stassats: Failure: callback.impure.lisp / CALL-INT-FLOAT-DOUBLE-CALLBACK 2016-09-03T19:35:14Z nyef: Ah! I was running the wrong test file all along. Damnit. 2016-09-03T19:35:47Z stassats: that's as far as i'm willing to look into that callback issue (reading the names of the failed tests) 2016-09-03T19:35:56Z stassats: don't really care about mips 2016-09-03T19:36:05Z nyef: Yeah, fine. I'll deal with it later. 2016-09-03T19:36:19Z stassats: it might be confined to my machine 2016-09-03T19:37:23Z nyef: And if it is, then I won't need to deal with it later. d-: 2016-09-03T19:40:43Z stassats: you can use my machine, it's from the gcc compiler farm 2016-09-03T19:43:57Z nyef: I have two mips boxes set up locally, and a number more that aren't set up. 2016-09-03T19:44:12Z stassats: but do they produce failures? 2016-09-03T19:45:23Z nyef: Not on that, AFAIK. 2016-09-03T20:09:07Z oleo quit (Quit: Leaving) 2016-09-03T20:14:57Z oleo joined #sbcl 2016-09-03T20:43:41Z slyrus quit (Ping timeout: 244 seconds) 2016-09-03T20:50:49Z stassats: hate committing not what i think i'm committing 2016-09-03T20:51:06Z stassats: ok, mips read-only-tramps in 2016-09-03T20:52:11Z nyef: Yay. 2016-09-03T20:52:35Z nyef: There's still problems with the hppa version, but they seem to be no worse than the status quo, so I may yet commit this as-is. 2016-09-03T21:17:29Z prxq joined #sbcl 2016-09-03T21:19:59Z xristos joined #sbcl 2016-09-03T21:21:00Z slyrus joined #sbcl 2016-09-03T21:29:28Z gingerale quit (Remote host closed the connection) 2016-09-03T21:59:36Z rumbler31 joined #sbcl 2016-09-03T22:07:50Z rumbler3_ joined #sbcl 2016-09-03T22:10:24Z rumbler31 quit (Ping timeout: 250 seconds) 2016-09-03T22:12:34Z rumbler3_ quit (Ping timeout: 250 seconds) 2016-09-03T22:54:44Z prxq quit (Remote host closed the connection) 2016-09-03T23:05:26Z PuercoPop quit (Ping timeout: 250 seconds) 2016-09-03T23:07:07Z PuercoPop joined #sbcl 2016-09-03T23:35:49Z npatrick04 joined #sbcl 2016-09-03T23:51:54Z npatrick04 quit (Ping timeout: 258 seconds)