00:16 vendethiel joined 00:43 geekosaur joined 02:18 vendethiel joined 03:03 vendethiel joined 04:19 arnsholt joined, lnx joined, jnthn joined, japhb joined 04:20 Util joined 04:21 sivoais joined 04:31 sivoais joined 04:41 sivoais joined 04:52 sivoais joined 05:02 sivoais joined 05:31 sivoais joined 05:41 sivoais joined 05:51 zakharyas joined 06:23 sivoais joined 06:33 sivoais joined 06:51 sivoais joined 07:01 sivoais joined 07:05 domidumont joined 07:09 domidumont joined 07:11 sivoais joined 07:21 sivoais joined 07:31 sivoais joined 07:41 sivoais joined 07:51 sivoais joined 08:01 sivoais joined 08:11 sivoais joined 08:21 sivoais joined 08:32 sivoais joined 08:41 brrt joined
brrt \o 08:41
timotimo o/
08:44 sivoais joined
brrt ohai timotimo 08:49
08:56 sivoais joined 09:00 nebuchadnezzar joined 09:09 sivoais joined 09:22 sivoais joined 09:34 sivoais joined 09:46 sivoais joined 09:50 kjs_ joined 09:58 sivoais joined 10:10 sivoais joined 10:22 sivoais joined, donaldh joined 10:34 sivoais joined
brrt interestingly, the expr jit IR is an SSA form 10:46
10:47 sivoais joined
brrt because each value's name is identical to the node which computes it 10:47
jnthn :) 10:49
brrt and, IF nodes are the only 'PHI's we know
10:51 vendethiel joined
timotimo .o( interactive fiction nodes ) 10:52
jnthn, how do you feel about adding an entry to the REPROps for a function that'd count up bytes of "extra storage" that an object owns? 10:54
thoughts about a heap explorer have been going through my mind 10:56
jnthn Like, if it malloc's something? Sounds reasonable, provided it's not transitive.
(That is, it's self size, not including other GC-ables)
10:59 sivoais joined
timotimo aye, only on self 11:03
i was thinking it'd report data a bit "richly"
because for arrays it'd definitely be interesting to see slots used + slots allocated 11:04
11:11 sivoais joined 11:25 sivoais joined 11:37 sivoais joined 11:51 sivoais joined 11:52 vendethiel joined 11:56 donaldh joined 12:03 sivoais joined 12:15 sivoais joined 12:27 sivoais joined 12:38 vendethiel joined 12:39 sivoais joined 12:49 brrt` joined 12:52 sivoais joined 13:06 pyrimidi_ joined, sivoais joined 13:18 sivoais joined 13:31 sivoais joined 13:43 sivoais joined 13:48 kjs_ joined 13:52 zakharyas joined 13:55 sivoais joined 14:04 FROGGS joined 14:09 sivoais joined 14:19 sivoais joined 14:20 vendethiel joined 15:23 vendethiel joined 15:27 kjs_ joined 15:56 vendethiel joined 16:37 FROGGS joined 17:03 vendethiel joined 17:31 domidumont joined 17:33 kjs_ joined 17:36 cognominal joined 17:57 vendethiel joined 18:20 vendethiel joined 20:01 sivoais joined 20:11 sivoais joined 20:21 sivoais joined 20:32 sivoais joined
jnthn Well, d'oh. Seems that whatever valgrind flags I used yesterday hid a lot of things. :) 20:36
oh, duh 20:37
I missed --full-cleanup to moar :)
Phew. :)
20:39 diakopte1 joined 20:42 sivoais joined, kjs_ joined 20:49 pyrimidine joined, 7F1AA9FQP joined 20:53 sivoais joined
timotimo phew 21:04
so with libmicrohttpd i should be able to build something that serves data from the moar process to a browser, including the web app itself 21:28
does that sound sane?
[Coke] rather than do a static html file? assumes we can keep moar running when done, yes? 21:30
would be nice to not have to generate/serve the JS we're not using; I'd make it so you only load what you need to show the user, should make it more responsive.
dalek arVM: 7a1ff97 | jnthn++ | src/ (3 files):
First steps in cleaning up NFG state.
21:32
arVM: 541ce86 | jnthn++ | src/jit/compile.c:
Missing JIT memory cleanup.
timotimo [Coke]: it'd be fine to have a static html file for the UI, but the UI really, really wants to be interactive 21:35
rather than analyzing the whole heap and turning it into a gigantic json file
[Coke] timotimo: if the static html file is issuing ajax requests, then it's not static. ? 21:36
timotimo since we're already at like 60 megabytes up to 100 megabytes for the simplest files, it seems extremely unlikely that a static json file would be enough
well ... the html that we serve is static, it just doesn't behave static in the browser :D
[Coke] ... fair 21:37
anyway, sounds reasonable to me.
timotimo and yes, moar should continue running. i expect that the moar process would be "stopped" during every GC run when the heap has settled and then it'd allow introspection via the app and when the user hits the "continue" button it'd continue
if i do go with the fork approach, it could even take heap snapshots every time a gc run happens. or, i suppose, at any time whatsoever 21:38
without forcing moar to stop completely
(thanks to copy-on-write semantics via fork/clone)
dalek arVM: 3e127b1 | jnthn++ | src/moar.c:
Clean up integer constant mutex/cache.
21:40
arVM: fde6f2a | jnthn++ | src/moar.c:
Clean up int to string cache.
timotimo ugh. pulling in libmicrohttpd requires build system stuff >_> 21:50
21:54 dalek joined
dalek arVM: f9a9b96 | jnthn++ | src/6model/reprs/SCRef.c:
Free SC dependencies array.
21:55
arVM: c41ec69 | jnthn++ | src/moar.c:
Clean up list of all SCs.
arVM: dc856b6 | jnthn++ | src/6model/reprs/MVMCompUnit.c:
Free compunit SC handle indexes array.
22:06
arVM: 9ae6dd4 | jnthn++ | src/ (4 files):
Clean up decode stream separators on handles.
arVM: 172b501 | jnthn++ | src/core/interp.c:
Don't leak a replaced boolification spec.
22:11
jnthn Down to 1,069 bytes not cleaned up, of which 128 seem to be thanks to libuv 22:12
timotimo that's very good already 22:13
so we're responsible for less than 1kb
dalek arVM: 4671fae | jnthn++ | src/mast/compiler.c:
Fully clean up callsite re-use hash.
22:20
jnthn Yeah
Though that's only on ./nqp -e "say(1)"
timotimo OK, fair enough
jnthn (with --full-cleanup on)
timotimo rakudo will perhaps have something for extops, for example
jnthn Other than the libuv thing, there's basically only one source of leaks left 22:21
It's about standard handles
timotimo \o/
jnthn But we get into some trouble with cleaning those up
Will be able to fix it, but...not tonight :) 22:22
I plan to work my way through the NQP test suite hunting issues 22:23
01-literals.t already shows up one extra
timotimo pff, who needs to clean up literals 22:25
jnthn :) 22:26
Anyway, enough for tonight :)
o/
timotimo gnite jnthn!
actually ... why not build the heap explorer on top of electron! :P 22:29
lizmat gnight jnthn
23:09 vendethiel joined