github.com/moarvm/moarvm | IRC logs at irclog.perlgeek.de/moarvm/today
Set by moderator on 21 July 2013.
02:31 colomon joined 03:29 prammer_ joined 03:54 lizmat joined 04:10 lizmat joined 04:35 lizmat joined 04:49 birdwindupbird joined 06:53 FROGGS joined 08:23 donaldh joined
FROGGS diakopter / jnthn: what what generates the instructions for calling an action-method? is that rxtype 'pass', or is it 'subrule'? 09:05
jnthn !cursor_pass is called by rxtype pass 09:07
uh, code is generated to do taht 09:08
This in turn calls !reduce, which calls the action method
see Cursor
FROGGS k, thanks!
10:52 colomon joined 10:59 chipdude joined
diakopter lololol; as if I'd remember anything at all from that file 11:14
FROGGS :P 11:16
diakopter srsly 11:38
11:50 benabik joined
diakopter hm. IMing your CEO at 5 a.m.... career-limiting-move? :S 12:00
jnthn Depends if you wrote "lol I'm drunk!!" :P 12:01
diakopter first time IMing him 12:13
no I didn't write that
jnthn ok, good :P 12:16
diakopter HE DOESN'T NEED TO KNOW I'M DRUNK!!!!!!11!1!! 12:22
(*giggle*)
jnthn o.O
tadzik "I woke you up, lol" 12:27
12:36 jlaire joined
FROGGS ha! I fixed it! 13:05
lizmat FROGGS++ 13:06
FROGGS was a bit surprising, because I have (almost) no idea what the code does 13:07
diakopter eh, what lines are these 13:13
diakopter guesses such inscrutable code is mine
FROGGS diakopter: I'll paste a diff in a sec 13:14
diakopter probably nopaste 13:15
FROGGS diakopter: gist.github.com/FROGGS/a7aad862205d70c5d7f3
diakopter well, moving the release() line couldn't have affected anything 13:16
(and it should go back where it was in case someone adds another fresh_() between them 13:18
)
.. but I can see how completely ignoring what was put into @ins would be a problem... 13:21
:D
(If I wrote that, I probably intended to flatten @ins at the beginning of that trailing [] 13:22
)
FROGGS I tried flattening @ins rigth after find_meth, but this didnt do the trick 13:25
diakopter well the const_s would also have needed to be fixed :D 13:26
actually I don't know if | flattens inside [ ] 13:27
FROGGS ahh, yes, that might was the problems
diakopter: that would explain why it exploded like: Cannot find sub &prefix:<|> 13:32
dalek arVM: e9fe141 | (Tobias Leich)++ | nqp-cc/src/QASTRegexCompilerMAST.nqp:
fixed a thinko
13:49
arVM: 5f012d6 | (Tobias Leich)++ | / (6 files):
added and mappen gethllsym
diakopter jnthn: I'm realizing (again) that I can't put moarvm bytecode in the p5 thread at all 13:58
jnthn: well... 13:59
actually.
I can if P5Val repr throws on every repr op but invoke
in fact that needs to happen anyway.
jnthn invoke isn't really a repr op anyways... 14:00
diakopter argh, I keeping calling those repr ops 14:01
what do you mean by repr ops
jnthn Anything you call with REPR(foo)->... :)
anything that hangs off st->REPR
diakopter how is invoke not a repr op?
jnthn it hangs off st
And it deosn't depend on representation
It's orthogonal. 14:02
diakopter uhm.
jnthn (in general, at least)
We do have a representation or so that sets a default invoke
diakopter you mean MVMCode? 14:03
jnthn think that is one, yes...though maybe mvmcfunction does too 14:04
diakopter also MVMCFunction and Lexotic?
jnthn hm :) 14:05
diakopter ok. I called it a reprop since it's in the repr file
jnthn yeah. The point is that it is attached to stable.
Yeah, agree
diakopter agree it's in the file?
jnthn I'm just reluctant to call it that 'cus it doesn't have to be 1:1 with repr.
but yes, those ones live int eh repr files
diakopter no, but neither do any of the other repr ops
JimmyZ FROGGS: ping 14:19
FROGGS JimmyZ: pong
$ nqp nqp-moar-cc.nqp -e 'use NQPHLLMoar; say(nqp::sprintf("abc %d", [1]))' 14:22
abc 1
\\o/
jnthn yay 14:29
FROGGS well, it's not perfect yet:
not ok 3 - two %s directives
# Actual value: WilliamWilliamBell
# Expected value: William Bell
gist.github.com/FROGGS/c7bd14c0da153c88f058 # sad FROGGS is sad 15:06
I think it does not rest $/ at some point
*rset
*reset
JimmyZ push his commits so he can sleep well 15:24
dalek arVM: d133f32 | jimmy++ | src/ (2 files):
small fixes and cleanups
JimmyZ good night
FROGGS gnight JimmyZ 15:26
diakopter jnthn: ohh I see; you were saying the repr ops are 1:1 with the repr *at runtime*. I was thinking about at *code time*. 15:35
FROGGS: does the current .moarvm emitter in nqp bundle nqp runtime too? 15:40
(as dependencies, even?)
FROGGS diakopter: I think so 15:41
diakopter wonders if they're all loaded at startup 15:42
FROGGS hmmm, I'm not sure tbh
diakopter FROGGS: how long does time say ./moarvm the_program_above.moarvm takes 15:43
(moar-actions.md)
on your computer
(once it's compiled)
FROGGS: can you time the .moarvm of that gist? 15:46
FROGGS diakopter: where is that gist?
diakopter sad FROGGS is sad 15:47
FROGGS ahh
hold on
diakopter thinks "wow, that is a long time" 15:49
FROGGS real\t0m0.021s 15:50
user\t0m0.020s
sys\t0m0.000s
and I had to add 'use QRegexMoar' and had to execute it in the nqp-cc folder, so that it can find ModuleLoader.class 15:51
diakopter o_O 15:52
probalby should remove that .class extension thing :)
FROGGS that needs changing nqp 15:53
diakopter oh
jnthn But now MoarVM ain't a secret, we can do that.
diakopter you're a secret
;) 15:54
FROGGS diakopter: you dont have an idea where the problem might be? gist.github.com/FROGGS/c7bd14c0da153c88f058 15:58
16:16 FROGGS[mobile] joined 16:22 Guest1337 joined 16:35 FROGGS joined
diakopter FROGGS: I literally know nothing about the internals of the Actions 16:49
FROGGS diakopter: it is more about $/ IMO 16:50
diakopter yeah, but all that's emitted by Actions, right?
or is it in the engine runtime?
FROGGS $/ is set by the regex engine, the actions are just called after something matched 16:52
hmm, this might even happen in nqp-cc/nqp-src/QRegex.nqp 16:59
diakopter I meant in the actions that precede the regex compiler 17:08
FROGGS ahh, k 17:09
okay, I guess I can hunt that down... will take a while though 17:11
dalek arVM: 9349e0d | (Tobias Leich)++ | nqp-cc/nqp-src/QRegex.nqp:
use a fresh list/hash for every match

Otherwise we carry matches from previous runs around.
19:21
FROGGS jnthn: do you get this too sometimes? "Can't free STables in the GC yet" 19:22
I get it for t/moar/threads.t from time to time, and now I get it constantly for the sprintf test when I have more than 93 single tests 19:23
jnthn FROGGS: Yeah, it's a GC bug. 19:25
FROGGS: Some day, I'll be clever enough to hunt those again.
dalek arVM: b4428c7 | (Tobias Leich)++ | nqp-cc/src/QASTRegexCompilerMAST.nqp:
little optimization
FROGGS jnthn: k
jnthn hasn't quite been his usual self for the last couple of months... 19:26
Maybe next week's trip to the Alps will help clear my head...
FROGGS jnthn: would it help if I add the t/hll/06-sprintf.t? It might be easier to hunt down if it isnt a heisenbug like the thread.t one
jnthn: I wish you all the best :o) 19:27
TimToady thinks it'll Alp a lot :)
jnthn FROGGS: Yes, I'm aware it can happen in single threaded contexts too
TimToady: :P
FROGGS .oO( throws a baguette )
dalek arVM: 0bb8555 | (Tobias Leich)++ | nqp-cc/ (3 files):
added nqp::sprintf and tests

Note that these tests fail due to a GC bug. The test file is not included in the test targets.
19:54
21:23 donaldh joined
diakopter jnthn: theoretically we can write a clang extension to teach it about your allocator so Address Sanitizer can track those allocations 21:59
jnthn diakopter: ooh
diakopter: Did you get asan to work out on Windows, ooc? Or you been doing it on Linux?
diakopter just linux; haven't tried it on windows 22:00
jnthn k...what's involved? I think I tried getting it up and running a while ago but failed it
Probably 'cus I tried to do it in a VM running an oldish Debian...
diakopter hrm.
jnthn Don't need answer now, I will sleep in a ibt :)
diakopter I will sleep in an ibis. 22:01
jnthn That would be preferable than attempting sleep in this hot room... 22:02
Pro Tip: don't get a top floor appartment :P
22:18 benabik joined 22:30 benabik joined 23:50 yoleaux joined