Perl 6 - the future is here, just unevenly distributed

IRC log for #moarvm, 2014-05-20

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

All times shown according to UTC.

Time Nick Message
00:13 lue joined #moarvm
00:20 woosley joined #moarvm
00:51 woosley left #moarvm
00:51 woosley joined #moarvm
01:54 FROGGS_ joined #moarvm
02:13 xiaomiao joined #moarvm
02:47 lue joined #moarvm
04:54 woolfy joined #moarvm
05:26 woolfy left #moarvm
05:28 woosley joined #moarvm
06:57 lizmat joined #moarvm
07:00 FROGGS joined #moarvm
07:03 oetiker joined #moarvm
07:12 zakharyas joined #moarvm
07:28 cognominal__ joined #moarvm
07:29 d4l3k_ joined #moarvm
07:37 camelia joined #moarvm
10:19 colomon joined #moarvm
11:55 dalek joined #moarvm
12:31 sergot_ Where is the code responsible for "throwing" exceptions like "no such method ... for" in moarvm?
12:34 sergot_ I mean: how does moarvm call &EXCEPTION(|) (rakudo/src/core/Exception.pm)?
12:35 jnthn It doesn't
12:35 jnthn That's triggered by the exception handler
12:35 jnthn Throwing an untyped exception is MVM_exception_throw_adhoc(tc, "oh noes");
12:40 sergot_ So, for "no such method ..." moarvm throws an exception, then it's triggered by nqp? Am I right?
12:46 jnthn That one is actually a bit special
12:46 jnthn Because there's a per-HLL way to deal with that particular one
12:46 jnthn But many internal ones looks like I just showed
12:59 sergot_ next question: are immutable objects "marked" somehow somewhere? :)
13:00 sergot_ in MVMContainerSpec maybe
13:00 jnthn What does "immutable" mean?
13:00 jnthn But generally, no
13:00 sergot_ m: 1 = 2
13:00 camelia rakudo-moar c382c7: OUTPUT«No such method 'STORE' for invocant of type 'Int'␤  in block  at /tmp/FKMmbu560a:1␤␤»
13:00 sergot_ 1 is immutable
13:01 jnthn Ah
13:01 jnthn As in "cannot be assigned to"
13:01 sergot_ that's right
13:01 sergot_ #121534 - I'm working on it
13:01 synopsebot Link: https://rt.perl.org/rt3//Public/Bug/Display.html?id=121534
13:01 jnthn There are two ways assignment works
13:01 sergot_ or.. just trying ;)
13:02 jnthn Either by doing an nqp::assign (scalar containers) OR by calling .STORE (arrays, hashes)
13:03 jnthn = compiles into a p6store when we ain't sure
13:03 jnthn which is a bunch of the itme
13:03 jnthn *time
13:03 jnthn That happens in src/vm/moar/Perl6/Ops.nqp
13:04 sergot_ What about OP(assign):?
13:04 sergot_ I can see it throws "Cannot assign to an immutable value"
13:05 jnthn Yeah
13:05 jnthn Typically we don't make it there
13:05 jnthn See the code in Ops.nqp - it does an iscont and only does assign if that's the case
13:05 jnthn And if not tries to find a STORE method
13:06 FROGGS and then explodes like we've seen it
13:06 jnthn Right.
13:07 sergot_ Thanks, I'll try there.
13:17 sergot_ So, this bug can be not connected to moarvm directly, right?
13:22 jnthn No, it's code-gen bug, afaict.
13:22 jnthn I think I'd look to fix it in Ops.nqp
13:25 sergot_ Ok, so, how can I "say" things like that: my $iscont_reg  := $*REGALLOC.fresh_i();
13:26 sergot_ this*
13:43 timotimo can spesh do something with the assign/store thing?
13:44 jnthn timotimo: Probably already does
13:44 jnthn sergot_: "say"?
13:44 * jnthn doesn't quite get the question :)
13:45 jnthn timotimo: It's just a branch on nqp::iscont(...)
13:45 jnthn timotimo: And should thus fall out of general branch optimization
13:49 sergot_ jnthn: yeah, I use say, but it is more complex, got: cannot stringify this
13:49 timotimo cool
13:49 jnthn sergot_: Yeah, MAST nodes don't stringify too well
13:49 jnthn .dump maybe...
13:51 sergot_ jnthn: yes, thanks :)
13:51 brrt joined #moarvm
13:53 btyler joined #moarvm
13:55 lizmat joined #moarvm
14:08 sergot_ jnthn: what does "MAST::Local index<15>" mean, and how to get the value?
14:09 jnthn It means "register 15"
14:09 jnthn It's just an operand for an op that expects such a register
14:11 sergot_ I have no idea how to debug Ops.nqp then :)
14:13 jnthn Yeah. Well, I just suggested on #perl6 maybe we want to just intercept method not found for STORE in bootstrap...
14:13 sergot_ Ohh, ok :)
14:15 lizmat working on that
14:18 sergot_ Anyway, that was a great "journey through the code". I learnt a lot.
14:19 jnthn \o/
14:19 tgt joined #moarvm
14:42 brrt joined #moarvm
15:16 lizmat joined #moarvm
15:17 FROGGS[mobile] joined #moarvm
15:28 btyler joined #moarvm
15:30 lizmat joined #moarvm
15:45 donaldh joined #moarvm
15:49 cognominal__ joined #moarvm
16:04 lizmat joined #moarvm
16:37 FROGGS joined #moarvm
16:50 dalek MoarVM/loop_labels: 0e3cbd4 | (Tobias Leich)++ | src/core/exceptions.c:
16:50 dalek MoarVM/loop_labels: code cleanup (whitespace around infix)
16:50 dalek MoarVM/loop_labels: review: https://github.com/MoarVM/MoarVM/commit/0e3cbd463b
16:50 rurban_ joined #moarvm
17:30 TimToady masak: ^^^
17:30 TimToady oops, ww
17:30 TimToady stupid touchpad...
18:04 brrt joined #moarvm
18:19 dalek MoarVM/loop_labels: af84d9a | (Tobias Leich)++ | src/ (5 files):
18:19 dalek MoarVM/loop_labels: make clean that we have a register in FrameHandlers
18:19 dalek MoarVM/loop_labels:
18:19 dalek MoarVM/loop_labels: ... and locals in HandlerScope
18:19 dalek MoarVM/loop_labels: review: https://github.com/MoarVM/MoarVM/commit/af84d9abdb
18:24 brrt left #moarvm
18:29 dalek Heuristic branch merge: pushed 21 commits to MoarVM/loop_labels by FROGGS
18:30 dalek joined #moarvm
18:30 lizmat joined #moarvm
18:36 lizmat joined #moarvm
18:59 woolfy joined #moarvm
19:16 woolfy1 joined #moarvm
19:53 woolfy joined #moarvm
19:53 woolfy1 joined #moarvm
20:10 woolfy1 left #moarvm
20:37 brrt joined #moarvm
20:47 woolfy joined #moarvm
20:56 lizmat joined #moarvm
21:04 timotimo nwc10++ # nice work on close-to-the-metal improvements
21:06 brrt i've a feeling i should check that out
21:14 oetiker joined #moarvm
21:14 timotimo on the mailing list
21:14 timotimo this time it's struct reordering based on the output of https://git.kernel.org/cgit/devel/pahole/pahole.git/
21:22 donaldh joined #moarvm
21:23 woolfy1 joined #moarvm
21:34 lizmat joined #moarvm
21:45 brrt mailing list? what mailing list?
21:53 timotimo i think Perl6-compiler
22:35 woolfy1 left #moarvm

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