Perl 6 - the future is here, just unevenly distributed

IRC log for #moarvm, 2015-07-31

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

All times shown according to UTC.

Time Nick Message
01:01 TimToady joined #moarvm
01:11 raiph joined #moarvm
01:38 flussence joined #moarvm
06:36 vendethiel joined #moarvm
06:58 zakharyas joined #moarvm
07:00 FROGGS joined #moarvm
07:43 FROGGS nebuchadnezzar: when do we start packaging nqp?
07:49 nebuchadnezzar I plan to look at it this week-end
07:57 brrt joined #moarvm
08:01 brrt \o
08:07 brrt this is weird
08:07 brrt all my memory has been corrupted
08:08 nebuchadnezzar brrt: do you remember your name? ;-)
08:09 brrt computer says its brrt
08:11 brrt i can't.... believe it
08:12 brrt stack overflow
08:12 brrt a cycle in the tree?
08:14 brrt no, a corruption
08:14 brrt you dense...
08:17 dalek MoarVM/even-moar-jit: 6023ac9 | brrt++ | src/jit/ (2 files):
08:17 dalek MoarVM/even-moar-jit: Add a few expressions and made calls consistent
08:17 dalek MoarVM/even-moar-jit: review: https://github.com/MoarVM/MoarVM/commit/6023ac96dd
08:34 jnthn o/
08:39 FROGGS joined #moarvm
08:44 brrt \o jnthn
08:44 brrt i'm compiling a todo list
08:45 brrt and... i'm still a bit fuzzy on the tile-and-emit routine
08:49 brrt or, let's put that in other words
08:49 brrt i don't really prefer to have *another* pass after tiling
08:50 brrt the problem with adding a routine for tree traversal is that everything then becomes a tree traversal problem
08:56 Ven joined #moarvm
08:56 zakharyas joined #moarvm
09:05 dalek MoarVM/even-moar-jit: 04f336d | jnthn++ | src/core/bytecode.c:
09:05 dalek MoarVM/even-moar-jit: Fix a missing lock release.
09:05 dalek MoarVM/even-moar-jit: review: https://github.com/MoarVM/MoarVM/commit/04f336d105
09:05 dalek MoarVM/even-moar-jit: f89d760 | jnthn++ | src/core/frame.c:
09:05 dalek MoarVM/even-moar-jit: Avoid concurrent frame prepare/validate.
09:05 dalek MoarVM/even-moar-jit:
09:05 dalek MoarVM/even-moar-jit: While the validation itself is idempotent, the assigning of a lexotic
09:05 dalek MoarVM/even-moar-jit: pool index decidedly is not. Should fix a crash reported by nwc10++.
09:05 dalek MoarVM/even-moar-jit: review: https://github.com/MoarVM/MoarVM/commit/f89d76064c
09:05 dalek MoarVM/even-moar-jit: bbe6231 | jnthn++ | src/core/interp.c:
09:05 dalek MoarVM/even-moar-jit: Fix extop "did interpreter move" check.
09:05 dalek MoarVM/even-moar-jit:
09:08 brrt hmm, waitaminute
09:08 brrt let me see how we implement 'did interpreter move' in the JIT
09:29 dalek MoarVM: 14d2155 | jnthn++ | tools/update_ops.p6:
09:29 dalek MoarVM: Fix warning in op gen tool.
09:29 dalek MoarVM: review: https://github.com/MoarVM/MoarVM/commit/14d2155e57
09:34 Ven joined #moarvm
09:56 zakharyas joined #moarvm
10:01 dalek MoarVM: b8fdeae | jnthn++ | / (6 files):
10:01 dalek MoarVM: Add ctxcode op.
10:01 dalek MoarVM:
10:01 dalek MoarVM: Gets the code object associated with a particular context.
10:01 dalek MoarVM: review: https://github.com/MoarVM/MoarVM/commit/b8fdeaed82
10:02 Ven_ joined #moarvm
10:03 brrt nice, we can implement that
10:03 brrt uhm
10:03 brrt what's the *ctx doing on line 4692
10:04 brrt it's not referenced or initialized
10:04 jnthn argh, I hate that declaration syntax for exactly this reason
10:05 dalek MoarVM: 4db70f8 | jnthn++ | src/core/interp.c:
10:05 dalek MoarVM: Clear up unused vars; brrt++.
10:05 dalek MoarVM: review: https://github.com/MoarVM/MoarVM/commit/4db70f8ceb
10:07 dalek MoarVM: bc79c56 | jnthn++ | src/core/interp.c:
10:07 dalek MoarVM: Tweak error message.
10:07 dalek MoarVM: review: https://github.com/MoarVM/MoarVM/commit/bc79c56351
10:12 masak joined #moarvm
10:29 dalek MoarVM/even-moar-jit: 13d0694 | brrt++ | src/jit/ (4 files):
10:29 dalek MoarVM/even-moar-jit: Initial rough draft of tile implementations
10:29 dalek MoarVM/even-moar-jit:
10:29 dalek MoarVM/even-moar-jit: In order to figure out what kind of things real tiles would need,
10:29 dalek MoarVM/even-moar-jit: I find it helpful to write a rough draft of what they would look
10:29 dalek MoarVM/even-moar-jit: like.
10:29 dalek MoarVM/even-moar-jit: review: https://github.com/MoarVM/MoarVM/commit/13d0694798
11:24 Ven joined #moarvm
11:42 dalek MoarVM/even-moar-jit: 14d2155 | jnthn++ | tools/update_ops.p6:
11:42 dalek MoarVM/even-moar-jit: Fix warning in op gen tool.
11:42 dalek MoarVM/even-moar-jit: review: https://github.com/MoarVM/MoarVM/commit/14d2155e57
11:42 dalek MoarVM/even-moar-jit: b8fdeae | jnthn++ | / (6 files):
11:42 dalek MoarVM/even-moar-jit: Add ctxcode op.
11:42 dalek MoarVM/even-moar-jit:
11:42 dalek MoarVM/even-moar-jit: Gets the code object associated with a particular context.
11:42 dalek MoarVM/even-moar-jit: review: https://github.com/MoarVM/MoarVM/commit/b8fdeaed82
11:42 dalek MoarVM/even-moar-jit: 4db70f8 | jnthn++ | src/core/interp.c:
11:42 dalek MoarVM/even-moar-jit: Clear up unused vars; brrt++.
11:42 dalek MoarVM/even-moar-jit: review: https://github.com/MoarVM/MoarVM/commit/4db70f8ceb
11:42 dalek MoarVM/even-moar-jit: bc79c56 | jnthn++ | src/core/interp.c:
11:42 dalek MoarVM/even-moar-jit: Tweak error message.
11:42 dalek MoarVM/even-moar-jit: review: https://github.com/MoarVM/MoarVM/commit/bc79c56351
11:43 brrt hmm waitaminute
11:48 dalek MoarVM/even-moar-jit: d68dd69 | brrt++ | build/Makefile.in:
11:48 dalek MoarVM/even-moar-jit: Add additional dependencies for exprlist and tiles
11:48 dalek MoarVM/even-moar-jit:
11:48 dalek MoarVM/even-moar-jit: When oplist changes, the expression template table needs to
11:48 dalek MoarVM/even-moar-jit: be recompiled.
11:48 dalek MoarVM/even-moar-jit: review: https://github.com/MoarVM/MoarVM/commit/d68dd69036
11:54 * brrt wonders what is wrong with MVM_jit_expr_tree_destroy
12:12 brrt no, wait
12:12 brrt what i wonder is how we can be looking at node 184 when only 172 nodes have been written
12:15 timotimo is "MVMObject *this_ctx = GET_REG(cur_op, 2).o, *ctx;" really correct?
12:16 timotimo the comma operator just evaluates to its RHS, so the argument actually doesn't get used at all?
12:17 brrt has already been fixed :-)
12:17 timotimo OK
12:18 timotimo ah, the unused var fix
12:31 zakharyas joined #moarvm
12:36 dalek MoarVM/even-moar-jit: a9c0a68 | brrt++ | src/jit/core.expr:
12:36 dalek MoarVM/even-moar-jit: Fix misplaced parenthesis in core.expr
12:36 dalek MoarVM/even-moar-jit:
12:36 dalek MoarVM/even-moar-jit: These bugs can be extremely tricky to hunt down, so it may be
12:36 dalek MoarVM/even-moar-jit: worth it to spend some time parsing the expr.h definitions,
12:36 dalek MoarVM/even-moar-jit: so that the core.expr file is consistent with that.
12:36 dalek MoarVM/even-moar-jit: review: https://github.com/MoarVM/MoarVM/commit/a9c0a682b1
12:42 brrt i'm afk for a bit
13:23 raiph joined #moarvm
14:16 hoelzro_ii joined #moarvm
14:23 psch joined #moarvm
15:05 FROGGS[mobile] joined #moarvm
17:05 jnthn m: say 4.99 / 0.17
17:05 camelia rakudo-moar 56ae33: OUTPUT«29.352941␤»
17:09 jnthn dinner &
18:16 Peter_R joined #moarvm
19:22 vendethiel joined #moarvm
19:23 oetiker joined #moarvm
19:45 FROGGS joined #moarvm
19:48 raiph joined #moarvm
20:11 timotimo i ... what?
20:13 jnthn ??
20:13 TEttinger joined #moarvm
20:14 timotimo did you just make something only take 29% as much time or ram or something? :-)
20:16 jnthn Oh, doing some GLR guts exploring
20:17 timotimo mhm
20:31 raiph joined #moarvm
20:35 tadzik (so, yes) :P
20:37 timotimo :)
20:38 timotimo i'm expecting times of things to shrink down to at least 10%, if not less
20:41 jnthn Well, that was before I put in various things we'll need.
20:48 timotimo ah
20:58 * timotimo still not progressing with the optimizer thing, but i know i'll probably have to work with pre-setting code
21:27 jnthn m: say 4.49 / 0.59 # more like this now :)
21:27 camelia rakudo-moar 5d9306: OUTPUT«7.610169␤»
21:28 jnthn Anyways, plenty to go :)
21:28 timotimo well, to be honest i have no clue what exactly you're working on
21:28 timotimo for @foo { for @foo { for @foo { something } } }?
21:30 jnthn for ('beer' xx 10000).map(*.uc) -> $beer { }
21:30 timotimo ah, that's it, yeah?
21:30 timotimo so much slower ;(
21:31 jnthn Well, 8x faster than today's impl, and the new code should be a bunch more optimizable
21:32 jnthn More importantly, though, we don't leak memory
21:33 jnthn So: for ('beer' xx *).map(*.uc) -> $beer { }
21:33 jnthn Sits nomming memory in Rakudo today
21:34 jnthn While GLRfor(infix:<GLRxx>('beer', *).GLRmap(*.uc), -> $beer { })
21:35 jnthn Works in constant memory
21:35 timotimo good!
21:36 timotimo so basically infinitely better memory usage?
21:36 jnthn Pretty much ;)
21:37 timotimo that's something we should put into marketing
21:37 jnthn But that's easy enough, what's harder is making sure we don't lose values
21:38 timotimo mhm
21:38 jnthn hm, why on earth do we end up in find_method a load
21:38 timotimo i wondered the same thing a few times already :S
21:38 timotimo also the slow path binder in general
21:39 jnthn Hm, what on earth
21:39 jnthn Slow path binder is often understandable
21:39 jnthn But find_method here is...odd
21:40 timotimo improving the binding lowerer was good fun
21:40 jnthn Gee, we're getting int lex refs too
21:41 timotimo isn't that good?
21:41 jnthn no, they should be vanishing during the compile
21:42 timotimo they should?
21:42 timotimo i didn't know that
21:42 jnthn In many cases, yes
21:42 timotimo so a lex ref turns into just the lexical again?
21:43 timotimo if the lexical is "reachable"?(
21:44 jnthn Well, it's more that
21:44 jnthn nqp::assign_i(nqp::getlexref_i(...), 42) should just turn into nqp::bind(..., 42)
21:44 jnthn Anyway, long story short, it's 8 times faster with sucking code-gen.
21:44 timotimo ah, right
21:45 timotimo that's a good way to look at it :)
21:45 jnthn I think I'm going to push on with fleshing out the overall new list guts model though
21:45 timotimo that's fair
21:45 jnthn So I've got something to pass to TimToady++ go look through and consider the semantics of
21:45 timotimo get the semantics into the hands of users
21:46 timotimo then we can have optimization all over the map
21:46 jnthn Well, it's mostly the thing needs to be in the right ballpark and optimizable
21:50 jnthn Anyway, really enough for today :)
21:50 jnthn 'night
21:50 timotimo gnite!

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