Perl 6 - the future is here, just unevenly distributed

IRC log for #moarvm, 2015-10-14

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

All times shown according to UTC.

Time Nick Message
00:14 hohoho joined #moarvm
00:36 tokuhirom joined #moarvm
01:34 vendethiel joined #moarvm
01:45 tokuhirom joined #moarvm
02:25 colomon joined #moarvm
02:43 colomon joined #moarvm
03:43 tokuhirom joined #moarvm
05:02 FROGGS[mobile] joined #moarvm
05:45 tokuhirom joined #moarvm
06:18 FROGGS[mobile]2 joined #moarvm
06:37 FROGGS joined #moarvm
06:46 tokuhirom joined #moarvm
07:34 leont joined #moarvm
08:01 zakharyas joined #moarvm
08:02 FROGGS joined #moarvm
08:37 sivoais joined #moarvm
08:47 sivoais joined #moarvm
08:47 tokuhirom joined #moarvm
08:57 nwc10 good *, #moarvm
08:57 sivoais joined #moarvm
09:07 sivoais joined #moarvm
09:13 brrt joined #moarvm
09:13 brrt good * #moarvm
09:13 brrt joining you from germany today :-)
09:18 sivoais joined #moarvm
09:20 brrt i may have something that i want your advice on, again
09:21 brrt the 'your' here is plurl
09:22 brrt plural
09:23 brrt i'm still at a loss with regards to the new jits' 'elemsbug'
09:23 brrt but what i want to do, as i said before, is 'linearize' the jit output
09:24 brrt eh, tiler output
09:24 brrt so rather than have the result be a tree with tiles attached to it, make a linear list (array) with tiles that (often) refers to the tree
09:25 brrt seems simple enough i think, but there are some complicated consequences
09:26 brrt first of all, this linearization happens, by default, in postorder sequence
09:26 brrt which is the same order as the compilation order itself
09:28 brrt but some things happen in preorder or in inorder
09:28 sivoais joined #moarvm
09:28 brrt i.e. labelling
09:28 brrt and spilling
09:29 brrt so what i think has to happen is that i should insert 'markers' into the tile sequence that tell the register allocator that the following N items are conditional
09:29 rarara joined #moarvm
09:31 tadzik joined #moarvm
09:31 brrt or... something like that
09:31 brrt pff
09:33 brrt i'm also not sure exactly when is should be using labels or not
09:33 brrt i think we can assign labels pretty early in the process
09:33 brrt during analysis phase, just relative to the tree itself
09:33 brrt any optimization that changes this is then responsible for it's own relabelling
09:33 brrt does that make sense at all?
09:36 brrt damn, now i wonder whether i installed asan after my fedora reinstall
09:36 brrt clearly, i also need to merge the jit sequence number thingy asap
09:37 tokuhirom joined #moarvm
09:38 sivoais joined #moarvm
09:49 sivoais joined #moarvm
09:59 sivoais joined #moarvm
10:09 sivoais joined #moarvm
10:14 hohoho joined #moarvm
10:20 sivoais joined #moarvm
10:30 sivoais joined #moarvm
10:40 sivoais joined #moarvm
10:42 tokuhirom joined #moarvm
10:49 sivoais joined #moarvm
11:00 sivoais joined #moarvm
11:32 ggoebel2 joined #moarvm
11:33 hohoho joined #moarvm
12:04 timotimo sorry for not feeding anything back, but this is going a bit over my head :S
12:04 timotimo and my head is flu-ridden at the moment anyway
12:18 hohoho joined #moarvm
12:44 tokuhirom joined #moarvm
13:00 brrt joined #moarvm
13:04 brrt \o
13:04 brrt np timotimo :-) get well soon
13:05 timotimo trying my best :)
13:05 timotimo i'll go lie down for a bit again
13:05 brrt :-)
13:06 rarara I was looking into making the perl6 command to behave like python: that if you do perl6 <<< 'code'; it does print the command prompt. But as it was prospectable i've been overwhelmend
13:06 rarara it turns out that isatty is not implemented in nqp
13:07 rarara and implementing it would mean to implement for all different backends, what do you do in those cases?
13:08 rarara also, do you plan to keep src/io/syncfile.c use libuv, or will you switch at some point to multiple OS dependent files?
13:09 jnthn rarara: It'll change sometime next month to not use libuv, I expect.
13:10 jnthn Oh wait
13:10 jnthn syncfile I dunno 'cus we already use the sync bit
13:10 jnthn syncstream otoh will almost certainly change
13:14 cognominal joined #moarvm
13:22 brrt rarara: that's true, i've looked at implementing isatty, and found that it was an concept alien to the libuv framework
13:23 brrt you can totally make it work, but it was just a bit too complex and i dropped it
13:35 arnsholt I guess the problem is that TTY file handles don't exist on all platforms?
13:39 rarara uv_guess_handle tells you if it is tty, moar uses it in MVM_file_get_stdstream then forgets about it. I don't know the internals but it seems possibile to add a flag to the streams or to make a new stream class just for this
13:43 brrt arnsholt: if we define 'all platforms' to be 'linux, mac os x and windows', then isatty is actually defined for all of them
13:43 brrt it is not defined for all sorts of file handles
13:43 brrt and more importantly, libuv filehandles are not filehandles
13:44 brrt they are an objectish buffered multiplexed interface to IO
13:45 brrt so my suggestion would be to wait until the dust has settled on our sync io story
13:45 brrt because it's been known for some time that libuv for synchronous IO is problematic
13:46 brrt and this is just one example of it
13:48 arnsholt Ah, right. Sounds like a reasonable plan
13:48 arnsholt And for our purposes Windows and Unix is probably a reasonable definition of all platforms for a while
13:51 brrt there are of course other fun platforms
13:52 [Coke] OS X
13:52 arnsholt OS X is Unix enough though
13:53 arnsholt brrt: Looking forward to implementing the JIT on VMS? =D
13:57 brrt well, does VMS run on x64? :-P
13:58 * brrt is planning to write porting documentation  describing what would be needed for a port
13:58 brrt but in fairness, the main concerns with regards to porting are a): cpu architecture b): platform api
13:59 brrt s/api/abi
13:59 brrt or, to put it shortly, other than 'which registers are free' and 'how to call c functions' there isn't much difference between platforms
13:59 brrt cpu's mostly don't care about windows vs unix
14:08 arnsholt That's very true
14:45 tokuhirom joined #moarvm
14:46 ShimmerFairy joined #moarvm
14:53 * brrt afk
15:07 hohoho joined #moarvm
15:46 tokuhirom joined #moarvm
15:51 Ven joined #moarvm
16:08 hohoho joined #moarvm
16:12 Ven joined #moarvm
16:33 Ven joined #moarvm
16:40 btyler_ joined #moarvm
16:47 Ven joined #moarvm
16:59 Util joined #moarvm
16:59 leedo joined #moarvm
16:59 ingy joined #moarvm
17:07 colomon joined #moarvm
17:10 Util joined #moarvm
17:10 leedo joined #moarvm
17:10 ingy joined #moarvm
17:12 avar joined #moarvm
17:12 avar joined #moarvm
17:14 FROGGS joined #moarvm
17:25 Peter_R joined #moarvm
17:41 dalek MoarVM: fe87f7b | brrt++ | src/ (5 files):
17:41 dalek MoarVM: Add a JIT frame sequence number
17:41 dalek MoarVM:
17:41 dalek MoarVM: This is useful to disambiguate between different spesh candidates
17:41 dalek MoarVM: of the same frame.
17:41 dalek MoarVM: review: https://github.com/MoarVM/MoarVM/commit/fe87f7b325
17:41 dalek MoarVM: 87729c2 | brrt++ | src/ (3 files):
17:41 dalek MoarVM: Log JIT code using sequence numbers and map file
17:41 dalek MoarVM:
17:41 dalek MoarVM: Trying to add a lot of information into the bytecode filename did not
17:41 dalek MoarVM: really work out. So now we just use the sequence number for the bytecode.
17:41 dalek MoarVM: This will conflict in case you have multiple running processes, but
17:41 dalek MoarVM: this is debugging output so there is no reason to care.
17:41 dalek MoarVM: review: https://github.com/MoarVM/MoarVM/commit/87729c2728
17:48 tokuhirom joined #moarvm
17:57 nwc10 if (isntance->jit_bytecode_map)
17:57 nwc10 ^
17:57 nwc10 oops, missed
17:58 nwc10 anyway, if brrt would be so kind as to fire up his IRC client
18:09 travis-ci joined #moarvm
18:09 travis-ci MoarVM build failed. Bart Wiegmans 'Log JIT code using sequence numbers and map file
18:09 travis-ci https://travis-ci.org/MoarVM/MoarVM/builds/85378094 https://github.com/MoarVM/MoarVM/compare/41002db259df...87729c2728c3
18:09 travis-ci left #moarvm
18:15 FROGGS nwc10: maybe you have to say his name three times in a row?
18:15 dalek MoarVM: cfa7e25 | FROGGS++ | src/moar.c:
18:15 dalek MoarVM: fix typo that broke the build, nwc10++
18:15 dalek MoarVM: review: https://github.com/MoarVM/MoarVM/commit/cfa7e25f87
18:18 vendethiel joined #moarvm
18:20 leont joined #moarvm
18:22 vendethiel brrt: as much as I love your blog posts (and reading them with some new ASM insights!), I feel like the blog post about v8 being faster than gcc is pretty unfair (as it relies on disabled optimizations + adds in compilation time..)
18:29 travis-ci joined #moarvm
18:29 travis-ci MoarVM build failed. Tobias Leich 'fix typo that broke the build, nwc10++'
18:29 travis-ci https://travis-ci.org/MoarVM/MoarVM/builds/85383293 https://github.com/MoarVM/MoarVM/compare/87729c2728c3...cfa7e25f87e4
18:29 travis-ci left #moarvm
18:34 FROGGS hmpf
18:35 FROGGS pushing in a sec
18:35 FROGGS such typo!
18:36 dalek MoarVM: 3a00a08 | FROGGS++ | src/moar.c:
18:36 dalek MoarVM: fix another typo
18:36 dalek MoarVM: review: https://github.com/MoarVM/MoarVM/commit/3a00a089be
18:56 travis-ci joined #moarvm
18:56 travis-ci MoarVM build passed. Tobias Leich 'fix another typo'
18:56 travis-ci https://travis-ci.org/MoarVM/MoarVM/builds/85386813 https://github.com/MoarVM/MoarVM/compare/cfa7e25f87e4...3a00a089be59
18:56 travis-ci left #moarvm
18:57 FROGGS pheew
19:08 vendethiel FROGGS++
19:08 FROGGS :o)
19:49 tokuhirom joined #moarvm
20:08 hohoho joined #moarvm
20:34 colomon joined #moarvm
21:37 colomon joined #moarvm
21:47 ggoebel joined #moarvm
21:51 tokuhirom joined #moarvm
21:54 hohoho joined #moarvm
22:52 tokuhirom joined #moarvm
23:05 cognominal joined #moarvm
23:46 tokuhirom joined #moarvm

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