Perl 6 - the future is here, just unevenly distributed

IRC log for #moarvm, 2017-05-20

| Channels | #moarvm index | Today | | Search | Google Search | Plain-Text | summary

All times shown according to UTC.

Time Nick Message
00:01 TimToady joined #moarvm
00:54 MasterDuke .ask brrt any idea why adding `(template: gt_i (gt $1 $2))` to src/jit/core.expr would cause the NQP build to segfault at src/jit/tile.c:127?  it doesn't segfault with that commented out
00:54 yoleaux MasterDuke: I'll pass your message to brrt.
01:00 Ven joined #moarvm
01:48 ilbot3 joined #moarvm
01:48 Topic for #moarvm is now https://github.com/moarvm/moarvm | IRC logs at  http://irclog.perlgeek.de/moarvm/today
02:36 bisectable6 joined #moarvm
04:47 leedo joined #moarvm
09:48 robertle joined #moarvm
10:27 brrt joined #moarvm
10:37 Ven joined #moarvm
10:47 brrt .
10:47 yoleaux 00:54Z <MasterDuke> brrt: any idea why adding `(template: gt_i (gt $1 $2))` to src/jit/core.expr would cause the NQP build to segfault at src/jit/tile.c:127?  it doesn't segfault with that commented out
10:47 brrt .tell MasterDuke i'll look into it
10:47 yoleaux brrt: I'll pass your message to MasterDuke.
10:47 Ven_ joined #moarvm
10:53 Geth ¦ MoarVM/even-moar-jit: c2eaa53352 | (Bart Wiegmans)++ | src/jit/linear_scan.c
10:53 Geth ¦ MoarVM/even-moar-jit: Fix cycle break ordering
10:53 Geth ¦ MoarVM/even-moar-jit:
10:53 Geth ¦ MoarVM/even-moar-jit: In ordering registers for function calls, it may occur that there is a
10:53 Geth ¦ MoarVM/even-moar-jit: cycle in the transfer graph. These cycles must be broken somehow. I had
10:53 Geth ¦ MoarVM/even-moar-jit: used a stack, but that would cause the cycle to be broken 'in reverse',
10:53 Geth ¦ MoarVM/even-moar-jit: which would only be a problem if there were more than two registers
10:53 Geth ¦ MoarVM/even-moar-jit: involved and therefore went unnoticed.
10:53 Geth ¦ MoarVM/even-moar-jit:
10:53 Geth ¦ MoarVM/even-moar-jit: The simpler solution - walking the chain of transfers 'backwards' until
10:53 Geth ¦ MoarVM/even-moar-jit: we reach the starting point - is actually correct.
10:53 Geth ¦ MoarVM/even-moar-jit: review: https://github.com/MoarVM/MoarVM/commit/c2eaa53352
10:53 Geth ¦ MoarVM/even-moar-jit: 4bd21caaac | (Bart Wiegmans)++ | src/jit/core.expr
10:53 Geth ¦ MoarVM/even-moar-jit: Add elems instruction to the expr JIT, again
10:53 timotimo yey
10:53 Geth ¦ MoarVM/even-moar-jit:
10:53 Geth ¦ MoarVM/even-moar-jit: This was broken due to the broken cycle breaker, but now that cycle
10:54 Geth ¦ MoarVM/even-moar-jit: breaking is fixed, this can be reactivated.
10:54 Geth ¦ MoarVM/even-moar-jit: review: https://github.com/MoarVM/MoarVM/commit/4bd21caaac
10:54 Ven_ joined #moarvm
11:01 Ven_ joined #moarvm
11:06 brrt oh, i see why that breaks MasterDuke
11:07 brrt that's because GT does not yield a register
11:07 Ven_ joined #moarvm
11:08 brrt but a flag
11:08 brrt and the flag has to be converted to an integer by something called 'FLAGVAL'
11:18 AlexDaniel joined #moarvm
11:21 Ven_ joined #moarvm
11:27 Geth ¦ MoarVM/even-moar-jit: ada4c471c0 | (Bart Wiegmans)++ | 5 files
11:27 Geth ¦ MoarVM/even-moar-jit: Add FLAGVAL op and implement gt_i
11:27 Geth ¦ MoarVM/even-moar-jit:
11:27 Geth ¦ MoarVM/even-moar-jit: Expr ops like GT, LE, etc. yields 'flags', not register values (meaning
11:27 Geth ¦ MoarVM/even-moar-jit: on x64 they set bits in the flag register), which can be directly used
11:27 Geth ¦ MoarVM/even-moar-jit: by conditional operations (e.g. conditional branches). But MoarVM-level
11:27 Geth ¦ MoarVM/even-moar-jit: 'gt_i' ops etc. need to set the result of the comparison into an integer
11:27 Geth ¦ MoarVM/even-moar-jit: value. The FLAGVAL expr op is intended to intermediate between the two
11:27 Geth ¦ MoarVM/even-moar-jit: representations.
11:27 Geth ¦ MoarVM/even-moar-jit: review: https://github.com/MoarVM/MoarVM/commit/ada4c471c0
11:32 Geth ¦ MoarVM/even-moar-jit: fcff787615 | (Bart Wiegmans)++ | 2 files
11:32 Geth ¦ MoarVM/even-moar-jit: Add atpos_o
11:32 Geth ¦ MoarVM/even-moar-jit:
11:32 Geth ¦ MoarVM/even-moar-jit: Now works after cycle breaking has been fixed
11:32 Geth ¦ MoarVM/even-moar-jit: review: https://github.com/MoarVM/MoarVM/commit/fcff787615
11:34 Geth ¦ MoarVM/even-moar-jit: 8 commits pushed by (Timo Paulssen)++, (Jonathan Worthington)++, (Bart Wiegmans)++
11:34 Geth ¦ MoarVM/even-moar-jit: 22fb8e49c0 | don't crash on reading a closed dir handle
11:34 Geth ¦ MoarVM/even-moar-jit: 863e9205ae | Remove asyncwritestr op and supporting code.
11:34 Geth ¦ MoarVM/even-moar-jit: 9d3ede0009 | Remove asyncwritestrto op and supporting code.
11:34 Geth ¦ MoarVM/even-moar-jit: 5f23324971 | Remove asyncreadchars op and supporting code.
11:34 Geth ¦ MoarVM/even-moar-jit: 3bcd19ee91 | ChangeLog for 2017.05.
11:34 Geth ¦ MoarVM/even-moar-jit: cc390f5b29 | Bump VERSION.
11:34 Geth ¦ MoarVM/even-moar-jit: 9c1762636c | Mention spesh position info is used for coverage.
11:34 Geth ¦ MoarVM/even-moar-jit: aeba4f8dd3 | Merge remote-tracking branch 'origin/master' into even-moar-jit
11:34 Geth ¦ MoarVM/even-moar-jit: review: https://github.com/MoarVM/MoarVM/compare/fcff787615...aeba4f8dd3
11:46 brrt gethow still triggers a bug
11:46 brrt but it's a different one, at least
11:47 timotimo interesting
11:47 timotimo how about iter?
11:47 brrt that's presumably the s-expr parser bug
11:48 brrt i'll look at that later
11:48 timotimo oh, interesting
11:52 brrt i think it's the 'hole' problem
11:52 brrt matter of fact, fairly sure it is
11:53 brrt okay, i need to think a bit on how to fix it because it's subtle
12:00 Ven joined #moarvm
12:29 nebuchadnezzar joined #moarvm
13:05 Ven joined #moarvm
13:08 nebuchadnezzar joined #moarvm
13:52 Geth ¦ MoarVM/even-moar-jit: d7c4a05a9b | (Bart Wiegmans)++ | 2 files
13:52 Geth ¦ MoarVM/even-moar-jit: Values in holes are not live
13:52 Geth ¦ MoarVM/even-moar-jit:
13:52 Geth ¦ MoarVM/even-moar-jit: If a live range contains a hole arround the CALL, it isn't spilled, and
13:52 Geth ¦ MoarVM/even-moar-jit: if the hole extends arround the ARGLIST, it isn't used either, so it is
13:52 Geth ¦ MoarVM/even-moar-jit: completely free.
13:52 Geth ¦ MoarVM/even-moar-jit:
13:52 Geth ¦ MoarVM/even-moar-jit: This adds the gethow bug (timotimo++)
13:52 Geth ¦ MoarVM/even-moar-jit: review: https://github.com/MoarVM/MoarVM/commit/d7c4a05a9b
13:53 brrt joined #moarvm
13:53 brrt ugh, *fixes the gethow bug
14:01 ilmari quick, amend and force-push before anyone notices
14:11 MasterDuke .tell brrt i just pulled your recent commits and then tried adding ge_i, lt_i, le_i, eq_i, and ne_i. however, lt_i and eq_i break the nqp build
14:11 yoleaux MasterDuke: I'll pass your message to brrt.
14:24 committable6 joined #moarvm
14:41 MasterDuke .tell brrt and ne_i does weird stuff to the rakudo build. if finishes, but with a ton of different lines of output like this: `Useless use of $dist in sink context (lines 53289, 53342)`
14:41 yoleaux MasterDuke: I'll pass your message to brrt.
15:02 MasterDuke .tell brrt fwiw, with ge_i and le_i added rakudo almost passes a spectest, a couple failures in t/spec/S05-mass/rx.t that all seem to be caused by `Cannot find method 'rxtype' on object of type NQPMu`
15:02 yoleaux MasterDuke: I'll pass your message to brrt.
15:37 MasterDuke .tell brrt another update. if i only add le_i all spectests pass.
15:37 yoleaux MasterDuke: I'll pass your message to brrt.
15:45 Zoffix joined #moarvm
16:30 zakharyas joined #moarvm
17:03 zakharyas joined #moarvm
17:52 Geth ¦ MoarVM/master: 9 commits pushed by (Pawel Murias)++, (Jimmy Zhuo)++
17:52 Geth ¦ MoarVM/master: 97cf7b6fac | Make coerce_s_n work more like the Str.Num method
17:52 Geth ¦ MoarVM/master: 77aa8daa2e | Uncuddle else
17:52 Geth ¦ MoarVM/master: 2da520438f | Coerce "0x11", "0d11", "0b11", "0o11" style radix prefix to num
17:52 Geth ¦ MoarVM/master: 93fbbd0575 | Convert ":16<11>" and ":16«11»" style strs into nums
17:52 Geth ¦ MoarVM/master: b51ba45c56 | Fix bug when coercing a str trailing null to a number
17:52 Geth ¦ MoarVM/master: 0f0b40dfc8 | Fix incorrect function name
17:52 Geth ¦ MoarVM/master: 40149cd5d7 | Coerce ":16[1,1]" strings to numbers
17:52 Geth ¦ MoarVM/master: 472592f386 | Parsing 10_ 10.5_ style numbers should cause an error
17:52 Geth ¦ MoarVM/master: 37460c7a2f | Merge pull request #588 from pmurias/coerce_s_n
17:52 Geth ¦ MoarVM/master: review: https://github.com/MoarVM/MoarVM/compare/9c1762636c...37460c7a2f
17:56 domidumont joined #moarvm
18:02 domidumont joined #moarvm
18:24 AlexDani` joined #moarvm
18:32 brrt joined #moarvm
18:37 brrt jit-bisect will surely tell me what is wrong :-)
18:37 yoleaux 14:11Z <MasterDuke> brrt: i just pulled your recent commits and then tried adding ge_i, lt_i, le_i, eq_i, and ne_i. however, lt_i and eq_i break the nqp build
18:37 yoleaux 14:41Z <MasterDuke> brrt: and ne_i does weird stuff to the rakudo build. if finishes, but with a ton of different lines of output like this: `Useless use of $dist in sink context (lines 53289, 53342)`
18:37 yoleaux 15:02Z <MasterDuke> brrt: fwiw, with ge_i and le_i added rakudo almost passes a spectest, a couple failures in t/spec/S05-mass/rx.t that all seem to be caused by `Cannot find method 'rxtype' on object of type NQPMu`
18:37 yoleaux 15:37Z <MasterDuke> brrt: another update. if i only add le_i all spectests pass.
18:38 brrt eq_i breaks it fastest :-)
18:52 brrt a cast is clearly missing in the eq_i
18:54 brrt 90% certainty that it is the problem
18:57 MasterDuke i thought those would be simple enough i could try to figure out what was going wrong...but i was wrong
19:16 brrt well
19:16 brrt there is a tool for that
19:16 brrt it's called jit-bisect.pl
19:16 brrt run it with your command like so:
19:17 brrt perl ~/MoarVM/tools/jit-bisect.pl -- your_command --with --args
19:24 MasterDuke nqp: say(nqp::iseq_i(2**62, 2**60-1))
19:24 camelia nqp-moarvm: OUTPUT: «0␤»
19:24 MasterDuke nqp: say(nqp::iseq_i(2**62, 2**62-1))
19:24 camelia nqp-moarvm: OUTPUT: «1␤»
19:26 MasterDuke m: use nqp; say(nqp::iseq_i(2**62, 2**62-1))
19:26 camelia rakudo-moar a36f0c: OUTPUT: «0␤»
19:48 zakharyas joined #moarvm
20:28 brrt joined #moarvm
20:30 brrt left #moarvm
20:30 brrt joined #moarvm
22:55 samcv i think i've gotten a kinda hackish way to resolve linking scripts to their actual .so files
22:56 samcv trying now to install some nativecall using modules
23:04 Ven joined #moarvm
23:11 samcv it loads the new library the only thing is it doesn't seem to save the new library path so it seems to pass most of the Readline module tests and then eventually segfaults
23:15 Geth ¦ MoarVM/nativecall_script: 74c581b326 | (Samantha McVey)++ | src/core/nativecall.c
23:15 Geth ¦ MoarVM/nativecall_script: Stash
23:15 Geth ¦ MoarVM/nativecall_script: review: https://github.com/MoarVM/MoarVM/commit/74c581b326
23:15 Geth ¦ MoarVM/nativecall_script: c48cb45a1a | (Samantha McVey)++ | src/core/nativecall.c
23:15 Geth ¦ MoarVM/nativecall_script: stash2
23:15 Geth ¦ MoarVM/nativecall_script: review: https://github.com/MoarVM/MoarVM/commit/c48cb45a1a
23:27 Geth ¦ MoarVM/nativecall_script: 06d0de2fd3 | (Samantha McVey)++ | src/core/nativecall.c
23:27 Geth ¦ MoarVM/nativecall_script: If we can't load the library, check if it's a ldscript
23:27 Geth ¦ MoarVM/nativecall_script:
23:27 Geth ¦ MoarVM/nativecall_script: If it is a basic ldscript which contains 'GROUP ( /usr/lib/actuallib.so )'
23:27 Geth ¦ MoarVM/nativecall_script: then we attempt to load that library instead.
23:27 Geth ¦ MoarVM/nativecall_script:
23:27 Geth ¦ MoarVM/nativecall_script: We read the file referred to in the lderror and then search for GROUP (
23:27 Geth ¦ MoarVM/nativecall_script: and then try and load that file.
23:27 Geth ¦ MoarVM/nativecall_script: review: https://github.com/MoarVM/MoarVM/commit/06d0de2fd3
23:27 samcv oops
23:28 samcv ugh how did that happen. i typed what remote to go to :|
23:28 * samcv goes to delete that branch now
23:29 samcv not sure if i can though. heh
23:31 samcv not sure what's wrong with my git. i designated the remote with every push i did. but somehow it decided to ignore it on one of my pushes.

| Channels | #moarvm index | Today | | Search | Google Search | Plain-Text | summary