Perl 6 - the future is here, just unevenly distributed

IRC log for #moarvm, 2017-05-22

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

All times shown according to UTC.

Time Nick Message
01:55 ilbot3 joined #moarvm
01:55 Topic for #moarvm is now https://github.com/moarvm/moarvm | IRC logs at  http://irclog.perlgeek.de/moarvm/today
05:39 domidumont joined #moarvm
05:45 domidumont joined #moarvm
05:45 brrt joined #moarvm
05:59 brrt good * #moarvm
05:59 brrt i have a quick-and-dirty fix ready for the expr jit eq_i issue
06:02 samcv good * brrt
06:05 brrt ohai samcv
06:18 Geth ¦ MoarVM/even-moar-jit: e5458167cf | (Bart Wiegmans)++ | 3 files
06:18 Geth ¦ MoarVM/even-moar-jit: Let FLAGVAL return a 64 bit word
06:18 Geth ¦ MoarVM/even-moar-jit:
06:18 Geth ¦ MoarVM/even-moar-jit: This is kind of a hack since it circumvents the automatic cast
06:18 Geth ¦ MoarVM/even-moar-jit: inssertion mechanism, because that doesn't work for STORE nodes, and
06:18 Geth ¦ MoarVM/even-moar-jit: because making it work is more involved than I had initially thought.
06:18 Geth ¦ MoarVM/even-moar-jit: Needs to be replaced by 'proper' upcasting, which at least includes
06:18 Geth ¦ MoarVM/even-moar-jit: signed constants as well.
06:18 Geth ¦ MoarVM/even-moar-jit: review: https://github.com/MoarVM/MoarVM/commit/e5458167cf
06:18 brrt MasterDuke++ for finding the bug
06:22 domidumont joined #moarvm
06:38 brrt joined #moarvm
06:46 brrt now i have to think of the 'correct' fix :-)
07:35 domidumont joined #moarvm
07:37 zakharyas joined #moarvm
07:47 domidumont joined #moarvm
08:27 robertle joined #moarvm
08:51 jnthn morning o/
08:53 nwc10 well spotted :-)
08:54 jnthn Yeah, I can have coffee again, so it was easy to spot :P
09:00 timotimo turns out turning a laptop with wifi into an external wifi card for a desktop by connecting the two with ethernet is now ridiculously easy
09:00 yoleaux 00:53Z <MasterDuke> timotimo: if it helps, here's the MVM_dump_backtrace output at the problematic coerce_ni when running `say(100000000000000009)` https://gist.github.com/MasterDuke17/a34c63dece4f572d049a9fa67f0249db
10:07 Ven joined #moarvm
10:15 brrt so, with regards to the 'correct' fix, there's a bunch of things interplaying
10:16 brrt the const_i64_16 tile, used a *lot*, generates 64 bit integers from 16 bit ones in the bytestream
10:16 brrt but as it happens, the expr builder, generates a 16-bit constant as its argument
10:19 brrt now, as these are CONST, we can 'upcast' them automatically to a 64 bit value
10:19 brrt but as they are wrapped by a COPY, that fails
10:19 brrt (i.e. we can tell the CONST node to automatically generate a 64 bit value)
10:21 brrt so what happens with such values, is that they're directly STOREd to memory
10:21 brrt and what's somewhat funny is that we load a (signed) 32 bit constant in a 64 bit register, and store it directly into a 64 bit memory location, and that stuff works as expected, i.e. the number is sign-extended
10:21 brrt while *normally* register-to-register moves are supposed to be zero-extended, iirc
10:22 brrt i should check that though
10:36 brrt anyway, the root problem is one of the following:
10:36 brrt a): const_i64_16 should argubably include its own cast
10:36 brrt b): const nodes should arguably indicate whether they represent signed or unsigned values
10:39 nine brrt: sounds to me like in the JIT being explicit beats things happending automagically.
10:39 brrt there was a pretty good reason for  the automagic behaviour though
10:39 brrt let me think what it was
11:00 domidumont joined #moarvm
11:04 brrt oh, right
11:05 brrt because the expr jit can connect stuff in 'surpsising' ways, and because that is mostly ok as long as the sizes are all correct
11:05 brrt i.e. you can't know a priori all the sizes you'll use
11:06 brrt i do agree in general, though
11:09 Geth ¦ MoarVM/sync-socket-no-uv: a9cb2506fe | (Jonathan Worthington)++ | src/io/syncsocket.c
11:09 Geth ¦ MoarVM/sync-socket-no-uv: Re-implement sync sockets without using libuv.
11:09 Geth ¦ MoarVM/sync-socket-no-uv:
11:09 Geth ¦ MoarVM/sync-socket-no-uv: This passes most of the socket spectests on Linux, with one timeout
11:09 Geth ¦ MoarVM/sync-socket-no-uv: still to be hunted down and fixed. An attempt has been made to write
11:09 Geth ¦ MoarVM/sync-socket-no-uv: this code so it can also work on Windows; that will be tested and
11:09 Geth ¦ MoarVM/sync-socket-no-uv: fixed up as required in a follow-up commit.
11:09 Geth ¦ MoarVM/sync-socket-no-uv: review: https://github.com/MoarVM/MoarVM/commit/a9cb2506fe
11:22 jnthn timotimo: Under MSVC: c:\consulting\moarvm\src\main.c(249) : warning C4700: uninitialized local variable 'interval_id' used
11:26 timotimo yeah, it can't prove that the value for the getenv doesn't change
11:28 Geth ¦ MoarVM/sync-socket-no-uv: 20aeb043bb | jnthn++ | src/io/syncsocket.c
11:28 Geth ¦ MoarVM/sync-socket-no-uv: Pick a different error-check macro name.
11:28 Geth ¦ MoarVM/sync-socket-no-uv:
11:28 Geth ¦ MoarVM/sync-socket-no-uv: The previous one conflicted with a macro brought in by Winsock.
11:28 Geth ¦ MoarVM/sync-socket-no-uv: review: https://github.com/MoarVM/MoarVM/commit/20aeb043bb
11:38 dogbert17_ jnthn: let me know if you want me to 'stress' your branch a bit, i.e. small nursery etc
11:39 jnthn dogbert17_: Thanks, will do
11:39 jnthn lunch; bbiab
11:40 jnthn (I should make sure it works in all other aspects first :))
11:47 Geth ¦ MoarVM: cono++ created pull request #600: Add ability to get port from already bind-ed socket
11:47 Geth ¦ MoarVM: review: https://github.com/MoarVM/MoarVM/pull/600
12:38 AlexDaniel joined #moarvm
13:01 Geth ¦ MoarVM/sync-socket-no-uv: 1aa523edba | jnthn++ | src/io/syncsocket.c
13:01 Geth ¦ MoarVM/sync-socket-no-uv: Fixes for IPv6 handling.
13:01 Geth ¦ MoarVM/sync-socket-no-uv: review: https://github.com/MoarVM/MoarVM/commit/1aa523edba
13:21 jnthn Looking decent on Windows. Now back to the Linux box to figure out the hang that happened there, but not on Windows...
13:30 jnthn Oh, it musta been that ipv6 thing here also
13:34 jnthn spectest looks ok, except from being a load behind from master... :)
13:34 jnthn Well, nom
13:38 lizmat sorry, been busy today  :-)
13:38 jnthn It's fine
13:38 lizmat should not affect anything you're doin
13:38 jnthn No, it doesn't
13:38 jnthn None of the spectest failures are anything close to sockets :)
13:39 jnthn I think I've now got synchronous sockets nicely disentangled from libuv
13:39 jnthn And happy spectests
13:39 * lizmat wonders if that will be visible in test-t
13:40 jnthn It doesn't do any socket programming, does it?
13:40 lizmat ah, no
13:40 lizmat I was thinking synchronous file handles
13:40 jnthn Yeah, those are second-to-next on the hit list
13:40 jnthn Next is, alas, getting the streaming decode stuff sorted out on JVM
13:41 * lizmat wishes jnthn strength
13:41 jnthn Otherwise, I can't merge the sockets stuff without huge regression there
13:41 jnthn And doubly so once I get to file handle stuff
13:47 brrt oh, synchronous sockets without uv, very nice, yes
14:05 jnthn Oh my, now I'm seeing why I didn't do the line-based bits of the decoder API on JVM last time around...
14:07 nwc10 "your sanity is at risk if you do not keep up repayments"?
14:10 jnthn It's that fun combination of "the API doesn't naturally do what I need" and "I don't own the API"
14:11 nwc10 blame Larry? (the other Larry)
14:13 jnthn I think the great evil that is NIO may be from the pre-other-Larry days...
14:14 jnthn NIO seems disliked among folks who are otherwise generally happy with Java stuff.
14:20 brrt which larry are we talking about in this case
14:20 brrt ins't NIO like super complicated
14:22 nwc10 brrt: the one who likes Yachts more than his own customers
14:23 nwc10 er, maybe that should be yachts but he does like them big
14:23 nwc10 (Ellison)
14:23 brrt oh, that guy
14:47 KDr2 joined #moarvm
15:02 hoelzro joined #moarvm
15:08 Ven joined #moarvm
15:13 brrt joined #moarvm
15:26 Ven joined #moarvm
15:39 brrt anyway, let's see what plan.org tells me is left to do
15:47 Ven_ joined #moarvm
15:50 jnthn Grrr...such annoying, but getting sorta close
15:51 jnthn But should head home, for grocery delivery
15:51 jnthn And that's prolly enough NIO for a day
16:19 moritz nio, that's java, right? :-)
16:42 Ven joined #moarvm
16:46 nine moritz: yes
16:47 jnthn Indeed.
16:49 Ven_ joined #moarvm
16:58 Ven_ joined #moarvm
17:12 Ven_ joined #moarvm
17:18 Ven joined #moarvm
17:27 Ven joined #moarvm
17:53 Ven_ joined #moarvm
18:27 Ven joined #moarvm
18:47 domidumont joined #moarvm
19:10 Ven_ joined #moarvm
20:12 Ven joined #moarvm
20:16 avar joined #moarvm
20:16 avar joined #moarvm
21:40 dalek joined #moarvm
21:40 samcv morning/afternoon
21:40 Zoffix evening
21:41 jnthn evening...almost morning though :)
21:53 * jnthn goes to rest
22:32 lizmat And another Perl 6 Weekly hits the Net: https://p6weekly.wordpress.com/2017/05/22/2017-21-yap6b/
22:42 nebuchadnezzar Hello
22:43 nebuchadnezzar I'm trying to update the Debian packages and I wonder if its normal that --libdir is not passed to gcc: https://paste.debian.net/934241/, because the moar binary ends with “libmoar.so => not found” https://paste.debian.net/934242/
22:43 nebuchadnezzar It looks like we only add rpath if --prefix ne '/usr'
22:44 nebuchadnezzar looks to be due to cac2a57c045fade4695fa4eed350e4bb9ece0a8f
22:45 nebuchadnezzar https://github.com/MoarVM/MoarVM/commit/cac2a57c045fade4695fa4eed350e4bb9ece0a8f
22:53 timotimo hm, i have no clue about this, this is some kind of policy issue
22:55 nebuchadnezzar I think we may test if libdir is outside ld.conf instead of just --prefix
22:56 nebuchadnezzar timotimo: I'm patching the debian package for now and I will open an issue
23:04 nebuchadnezzar Open issue ✓
23:30 nebuchadnezzar !l http://www.youtube.com/watch?v=Lh49fLPhw2I
23:30 nebuchadnezzar erf
23:30 nebuchadnezzar sorry for the #BadChannel ;-)
23:41 MasterDuke joined #moarvm

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