01:18 BenGoldberg joined
BenGoldberg Has this happened for anybody before me: /usr/bin/moar: error while loading shared libraries: libmoar.so: cannot enable executable stack as shared object requires: Invalid argument 01:18
This is with ubuntu on windows (aka WSL), right after I typed 'sudo apt-get install rakudo-star' then 'perl6' 01:20
MasterDuke_ hm, i think there's something you need to do to build moar on windows in WSL, maybe need to do the same? 01:24
BenGoldberg I'm not building it from sources. 01:25
I mean, if I really really had to, I could, but ... 01:26
geekosaur you can try: execstack -c libmoar.so 01:33
and then see if anything breaks
01:49 ilbot3 joined 02:41 geekosaur joined
BenGoldberg thanks geekosaur++ 02:42
05:39 brrt joined
brrt \o #moarvm 05:49
samcv \o brrt 05:50
brrt \o samcv
samcv Unrecognized backslash sequence: '\o' 05:51
brrt hehe
how are things? 05:52
in a grumbling-old-guy kind of way, i don't get how 05:54
'cracking the coding interview' has become some sort of rite-of-passsage for the young'un 05:55
hmmm 06:17
i've added some debugging logs and somehow dynasm broke 06:18
that aint' right
samcv that sounds like the title of some book or something 06:19
well probably is. idk lol
but you put it in quotes. or whatever
06:30 domidumont joined 06:35 domidumont joined 06:46 brrt joined
brrt 'cracking the coding interview' is all the rage 06:48
it's a piss-poor analogy for a algorithms textbook, specifically optimized for the things that technical reviewers also optimize for, i.e. brevity and conceptual depth 06:49
*an
anyway, 'twas an off-by-one
Geth MoarVM/even-moar-jit: 2824cd77b9 | (Bart Wiegmans)++ | 6 files
Log tile list basic blocks

Add a logging method for tile list and some debug info; it appears that stuff is not entirely right just yet, so good to have.
07:03
07:24 zakharyas joined
brrt i think the bug is in the 'closing' of the basic blocks... 08:20
08:35 domidumont joined
timotimo as long as it's closing and not cloning 09:29
dogbert17_ \o 09:35
timotimo: what do you think about this? gist.github.com/dogbert17/4972c063...715dba7c6d 09:36
timotimo did the diff get cut off in the middle? 09:37
other than that i think it's fine
dogbert17_ it might have been cut of but all the changes are there 09:38
s/of/off/
timotimo yeah, i say commit it 09:39
dogbert17_ not sure I have such powers :)
guess I'll have to do two PR's instead
timotimo that's fine 09:40
is nqp also going to have the "usage on stderr if unknown flags passed"?
dogbert17_ haven't tried but can do so when I get home from work. You mean running nqp with 'bad' options? 09:41
the fix worked when running perl6 though so there's hope at least 09:42
timotimo yup
just have to honor the :$use-stderr in nqp's compiler, too
dogbert17_ will fix 09:43
dogbert17_ notices that Zoffix 'vacation' seems to have been cut short 09:45
09:58 AlexDaniel joined 10:32 TimToady joined
Geth MoarVM/even-moar-jit: a52cbffa7f | (Bart Wiegmans)++ | src/jit/tile.c
Fix off-by-one in block-generation

Range of basic block is [start, stop) so that we can for (i = start; i < stop; i++) 'standard' C looping rather than
  'i <= stop', which is really just as easy but more confusing.
Anyway, +1-ing start was wrong. Add some debug names in WHEN, could do the same in other construct but not necessary yet.
10:49
brrt there aren't many complex examples yet, but everything seems to be in ordr 10:50
timotimo neato
brrt yeah 10:51
i especially like how a single basic block can have only two successors, so we can have a static number of successors, so we can encode the graph structure entirely (and in this case, sufficiently) with just those two numbers per bb 10:52
matter of fact, i think i can do a little better
as you may have noticed, i'm obsessively against allocating dynamic structures if it's not strictly necessary
timotimo right 10:53
you can make one packed successors-array
with a simple indexing strategy
brrt :-)
not sure if you've seen it, but i'm using a linked list for value references in linear scan? and all linked list nodes are allocated from a single buffer 10:55
and that was a major compromise from my perspective
timotimo i haven't looked deeply at your code, tbh 11:00
brrt i didn't expect that, tbh :-) 11:11
timotimo OK, tbh 11:13
brrt :-P{ 11:22
11:28 domidumont joined
timotimo how did your mustache move to the tip of your tongue? :) 11:39
11:52 domidumont joined 11:58 domidumont joined
brrt hehe 12:06
that reminds me
i need to shave
also
jnthn++ for a very nice blog post
i have a few due myself
jnthn wonders if brrt read the "proof" at the bottom :)
brrt obviously i did
jnthn Figured you'd be one of the folks who did :-) 12:07
I also thought it would be a heck of a detour in the middle of the post, thus why it got footnoted :-)
brrt :-) obviously a single broken implementation is not exhaustive proof, hence the quotes
jnthn Well, if you're trying to prove "it never ends up with in-use memory on the free list" then proof by contradiction is sufficient :-) 12:10
The proof of correctness for FREE is far more handwavey 12:11
brrt hmmā€¦. let me think about it for a bit
ā€¦. yes, i think you are right
anyway, it's an interesting assymetry
asymmetry 12:12
jnthn That you can lock-free push but not lock-free pop? Yes. 12:13
If you're in a GC'd language then you have a lot of get-outs from ABA though 12:14
Because you know a memory address can never be re-used until all references are gone, including the one held by the sleeping thread.
brrt well, that's true for the case of allocation, not for lists in general :-) 12:15
jnthn Well, it's something you can take advantage of generally as a problem-solving technique, but you may need an extra LOI :) 12:20
timotimo jnthn: did you notice that valgrind + --full-cleanup is a bit mad at the new freelist stuff? 12:21
timotimo AFK for a bit
jnthn timotimo: No, hmm 12:22
:)
File a MoarVM issue on that, if you think there's new bustage
Geth moarvm.org: 407a767fb9 | jnthn++ | 2 files
Update MoarVM site for 2017.04 release.
12:36
jnthn I'll be away from now until noon on Wed :) 12:39
nwc10 have fun
(I hope)
jnthn Me too :-) 12:42
o/
brrt see you, have fun 12:52
13:33 ggoebel joined 13:45 domidumont1 joined
MasterDuke_ i've heard good things about intel's vtune amplifier, and it looks like Open Source developers may be able to get a license for free software.intel.com/en-us/intel-vtu...xe/try-buy 14:05
anybody here think it would be useful for analyzing/optimizing moarvm? 14:06
dogbert17_ MasterDuke_: why not :) 14:28
timotimo it can do python and such, maybe theres simple hooks we couldnuse to get line annotations into the profiler, too 14:30
MasterDuke_ i wouldn't consider myself knowledgeable enough about moarvm or proficient enough in C to deserve a free license (and i don't actually know how hard they are to get), but i'd thought i'd mention the possibility in case people didn't know 14:34
but who knows, maybe they hand them out like candy? 14:35
15:47 brrt joined
Geth MoarVM/even-moar-jit: daaadd34b4 | (Bart Wiegmans)++ | src/jit/tile.c
More pseudotile debug names

For better understanding the generated code
15:47
MoarVM/even-moar-jit: dc07cb85e4 | (Bart Wiegmans)++ | src/jit/tile.c
Fix basic block ranges during tile list insertion

When we insert tiles into the tile lists, the range of each of the associated basic blocks changes. Because of the linear order of basic blocks, simple in-place updating is sufficient to compensate. Note that this assumes the basic block structure itself is left unchanged.
16:03 dogbert17 joined 17:54 domidumont joined 17:56 robertle joined 18:01 geekosaur joined
timotimo i wonder if we should have somezhing that inserts nops to help see the structure of nodes reflected in the assembly output 18:08
19:24 Ven joined 19:29 vendethiel joined
samcv good morning 19:57
20:05 Ven_ joined 20:29 AlexDaniel joined
Geth MoarVM/configure-telemeh-probe-rdtscp: 8bf37cc768 | (Timo Paulssen)++ | 5 files
enable --telemeh, --no-telemeh, and probe for rdtscp
20:42
20:49 Ven joined
Geth MoarVM/configure-telemeh-probe-rdtscp: 4aa1133107 | (Timo Paulssen)++ | Configure.pl
document --no-telemeh and --telemeh
20:54
MasterDuke_ timotimo: did you see my comment on your first commit? 20:56
Geth MoarVM/configure-telemeh-probe-rdtscp: 5fd7978d5d | (Timo Paulssen)++ | src/main.c
include or exclude telemetry log env var in usage/--help
20:57
timotimo i did not, let's see 20:58
good catch, thanks 20:59
MasterDuke_ np 21:00
Geth MoarVM/configure-telemeh-probe-rdtscp: 55e61aac83 | (Timo Paulssen)++ | Configure.pl
fix copy-pasto, MasterDuke17++
timotimo and that's why you don't commit to master at 11pm
lizmat and another Perl 6 Weekly hits the Net: p6weekly.wordpress.com/2017/04/24/...ing-times/ 21:47
japhb lizmat: Thank you for posting that in the quiet channel too. :-) 23:03
Zoffix++ # perl6.party/post/The-Failure-Point-of-a-Release <-- Very clear postmortem 23:13
samcv lizmat, can you make telling people to tag their modules a bit more prominent? with a sentence or two? 23:38
i often don't read the full list of blog posts every week