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
|