01:49 ilbot3 joined
Geth MoarVM: MasterDuke17++ created pull request #590:
Remove arbitrary string repeat limit
02:37
03:04 jpg51 joined 03:06 ilmari_ joined 03:14 robertle joined 03:19 Zoffix joined 05:10 AlexDaniel joined 05:25 colomon joined 05:45 brrt joined
brrt good *, #moarvm 05:46
samcv good ** brrt 06:27
MasterDuke_, you around
06:47 brrt joined 07:24 geekosaur joined 07:32 domidumont joined 07:38 domidumont joined 07:45 domidumont joined 07:49 zakharyas joined 09:01 robertle joined 09:10 colomon joined 09:52 geekosaur joined
MasterDuke_ samcv: am now 11:21
12:55 geekosaur joined 13:08 geekosaur joined 14:14 AlexDaniel joined 14:33 AlexDaniel joined 15:07 brrt joined 15:10 hoelzro joined, brrt joined 15:38 ZofBot joined 16:55 robertle joined 16:58 jpg5 joined 17:58 colomon joined 19:37 AlexDaniel joined 20:56 Ven joined 21:35 sivoais joined
samcv oh hey MasterDuke_ 21:42
MasterDuke_, well i put some coments on your PR 21:51
22:41 stmuk joined 22:50 SourceBaby joined 22:53 SourceBaby joined
timotimo the only thing we're really using HLL for at the moment for the heap dump is turning the string heap into a json blob, fwiw 23:02
that'd be doable in C, too.
23:19 SourceBaby joined
samcv timotimo, what do we use that json blob for? 23:20
timotimo we're just using it for its escaping abilities, really 23:21
samcv oh
we could do thta in c
timotimo yeah
samcv what specifically do we use it for? 23:22
timotimo it stores every string the heap dump needs (no strings from the user program are in there, though)
samcv m: use nqp; nqp::escape('\hi').say 23:23
camelia \\hi
samcv m: use nqp; nqp::escape(Q’ \ \ / ' " _-abcd ’ ~ "\n").say 23:24
camelia ===SORRY!=== Error while compiling <tmp>
Use of a closing delimiter for an opener is reserved
at <tmp>:1
------> use nqp; nqp::escape(Q⏏’ \ \ / ' " _-abcd ’ ~ "\n").s
samcv m: use nqp; nqp::escape(Q‘ \ \ / ' " _-abcd ’ ~ "\n").say
camelia \\ \\ / ' \" _-abcd \n
samcv m: use nqp; nqp::escape(Q‘ \ \ / ' " _-abcd ’ ~ "\n\r\a" ~ "\x[0]").say 23:25
camelia \\ \\ / ' \" _-abcd \n\r\a␀
samcv doesn't escape null apparently
should it?
that seems pretty important 23:26
timotimo not sure we can just use nqp::escape for that? 23:27
like, will a json parser accept stuff with that?
samcv you can't have \0 in json 23:29
i mean
can't have the null character actually printed
so it's only supposed to escape for json?
m: use nqp; say nqp::escape('"') 23:30
camelia \"
samcv m: use nqp; say nqp::escape('\\') 23:31
camelia \\
samcv m: use nqp; say nqp::escape('/')
camelia /
samcv m: use nqp; say nqp::escape('"\ ' ~ "\0" ~ "\a") 23:33
camelia \"\\ ␀\a
samcv timotimo, \a isn't a json thing...
so idk why you think it's a json escaper?
is it supposed to be?
m: '"'.encode.say 23:34
camelia utf8:0x<22>
timotimo it's not supposed to be a json escaper 23:36
but the heapsnapshot contains a json list with only strings in it in the first line
if we create that with nqp::escape, it could get us into a little bit of trouble
samcv trouble how? 23:39
you mean instead of HLL?
because nqp::escape is not a json escaper? sorry a bit confused 23:40
timotimo yeah, when you escape stuff with nqp::escape and write it to disk and a json parser tries to read it, things won't come out the same 23:44
samcv yeah of course
json escaper isn't that hard in C right 23:45
just look for characters