02:00 statisfiable6 joined 02:07 colomon_ joined 02:56 ilbot3 joined
MasterDuke huh. reading a 10k line csv file results in ~600k MVM_string_equal calls with a and b both equal to 'note', and ~600k MVM_string_equal calls with a and b both equal to 'sink' 03:24
04:11 reportable6 joined, coverable6 joined 04:12 bloatable6 joined, bisectable6 joined, notable6 joined, quotable6 joined, greppable6 joined
MasterDuke whoops, when b is equal to 'note' a is equal to 'sink' 04:28
i don't understand the backtrace i'm looking at 04:31
i added `if (strcmp(MVM_string_utf8_encode_C_string(tc, b), "note") == 0) fprint(...)` and set a breakpoint on the fprintf 04:32
#0 MVM_string_equal (tc=tc@entry=0x555555758c40, a=a@entry=0x5555561fe110, b=0x55555617c980) at src/strings/ops.c:1321 04:33
#1 0x00007ffff76a0961 in at_key (tc=0x555555758c40, st=<optimized out>, root=<optimized out>, data=0x555556b562c8, key_obj=0x5555561fe110, result=0x7fffffffd5a0, kind=8) at src/6model/reprs/MVMHash.c:74
but github.com/MoarVM/MoarVM/blob/mast...Hash.c#L74 doesn't have a call to MVM_string_equal, even if you decend into the MVM_HASH_GET macro 04:34
06:43 domidumont joined 06:49 domidumont joined
samcv would people mind reading my RFC and commenting on it? github.com/MoarVM/MoarVM/pull/798 06:53
and that my approach is right. even if you don't read the diff i made, the summary would be nice to hear your thoughts on if i should rework anything, or ideas for the names
07:23 domidumont joined
nine samcv: I couldn't find out the reason for the configuration flags you add. If there's decode and decoderep (decode with replacement?) what's left to configure? 07:36
07:36 brrt joined
nine samcv: but don't read too much into it, I'm in a bit of a hurry and very much preoccupied :) 07:36
samcv nine: currently it doesn't throw when you encode/decode codepoint swith no mapping 07:37
like codepoint 129 is invalid in windows-1252 and most programs will refuse to decode it. including perl 5 and python
so we can create invalid output
and read something that may not even be windows-1252
brrt i'll read it as well :-) 07:38
good * #moarvm
samcv so the configuration is to allow you to make it strict, how basically all other programming languages operate
brrt: good *
also we were missing encoderep
so my proposal to make 6.d default to strict encoding of text, so we don't create output that can't be read using other programs 07:39
so these new ops will semi-replace the old ones in the code and when 6.d is enabled we will default to only decoding/encoding valid data 07:40
brrt that seems like a pretty valid goal, yeah 07:42
nine samcv: ok. I guess what threw me off is that there's a code path ending up in throwing "Error encoding Latin-1 string: could not encode codepoint %d" 07:43
samcv nine: ah. that only throws if you try and encode lets say 0x19999 which has no mapping
but if it's codepoint 129 or the other 12 or so ones that have no mapping in windows-1252, it will put them in there anyway 07:44
nine Couldn't we just use an empty replacement string as flag?
samcv but then we still need to make replacement strict. because atm it only replaces when it would normally throw 07:45
so even with encoderep it will still encode invalid codepoints like 129 and not do a replacement 07:46
but i may want the new ops to default to strict, instead of having to set the flag as `1` to get strict 07:49
though i made it the current way so they operated the same if you gave the flag as 0. i'm not sure which is a better idea.
09:16 zakharyas joined 09:20 zakharyas joined 09:24 Ven`` joined 09:48 zakharyas1 joined 09:54 AlexDaniel joined 10:39 zakharyas joined 11:17 zakharyas joined 11:25 Ven`` joined, brrt joined
samcv can we make libatomic_ops into a submodule? 12:29
either we should fork their repo or just link straight to theirs 12:30
it's not totally clear exactly what changes were made or not made 12:33
when it was first commited it says it is modified, but not how 12:34
" Import modified f38b2904 of ivmai/libatomic_ops"
13:44 zakharyas joined
brrt hmm when did that happen? 14:39
14:43 zakharyas joined 14:52 zakharyas joined 15:26 Ven`` joined 15:37 colomon_ joined 15:42 colomon_ joined 17:42 brrt joined 17:57 domidumont joined 18:15 zakharyas joined
japhb nine: empty replacement string is not a flag that you want laxity or strictness. If any thing, it really would mean "ignore/drop/delete any non-conforming codepoints" 18:38
nine japhb: excellent point! 18:40
geekosaur samcv, my irc log suggests that upstream was being slow about incorporating bug fixes that moarvm needed 18:42
[Coke] we could fork and maintain a copy, I suppose? 19:02
(ah, samcv just said that!)
sorry, should review better
geekosaur that's what we are doing now 19:03
if upstream is actually tracking stuff now then it could be changed... until next time they lag
19:54 bloatable6 joined, squashable6 joined, quotable6 joined, zakharyas joined 20:23 Kaiepi joined
nine Geth seems to be asleep 21:13
Remove superfluous DEOPT_ONE_INS annotation on some deconts
In general decont may invoke, thus it carries a DEOPT_ONE_INS annotation.
However in cases were we know from the container spec, that it doesn't invoke,
we can remove that annotation again to keep the spesh graph a little cleaner.
Review: github.com/MoarVM/MoarVM/commit/4f...31520b6d62
MasterDuke anyone see my comments/questions from last night? irclog.perlgeek.de/moarvm/2018-02-08#i_15791778 21:27
21:31 ChanServ joined
jnthn Heard today that news.perlfoundation.org/2018/01/gra...l-6-1.html is being voted on in TPF, so hopefully approved soon. Which is nice 'cus I'll have some time to spend on it soon also. :) 21:43
samcv geekosaur: they've released new versions since then it seems 21:58
what i did is i extracted 3rdparty/libatomic_ops's commits into its own repo. then i merged that repo into the official libatomic_ops repo. so then we will have a repo based on both ours and their branch 22:00
but ours is mostly the same
just some minor changes
should let us make it easier to merge in new versions as they come out 22:01
it didn't merge cleanly originall, but i merged our version and their version at the last time we updated it to an actual release of theirs. and then after that I merged again with the latest release of theirs. which made it much easier 22:06
many less merge conflicts
22:14 brrt joined 22:18 dalek joined, Geth joined, p6lert joined, synopsebot joined, SourceBaby joined
samcv jnthn: I get a failure with NativeCall and uint32 i think it is 22:34
but not when using --has-libffi
this has been an issue for a long while, but i'm not sure how to diagnose since i'm not familiar with that section of the codebase 22:35
jnthn Hm, then it's probably something in either dyncall itself or (more likely) in our use of it (in nativecall_dyncall.c iirc) 22:36
gotta go for a bit
samcv o/ 22:38
22:45 evalable6 joined 23:11 jnthn joined
Geth MoarVM: samcv++ created pull request #799:
Add libatomic_ops as a submodule instead of in-tree
23:26