Perl 6 - the future is here, just unevenly distributed

IRC log for #moarvm, 2014-01-17

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

All times shown according to UTC.

Time Nick Message
01:11 jnap joined #moarvm
02:24 ggoebel1112 joined #moarvm
02:26 [Coke] updated https://gist.github.com/coke/8250608
02:35 camelia joined #moarvm
02:44 camelia joined #moarvm
02:47 ilbot3 joined #moarvm
02:47 Topic for #moarvm is now https://github.com/moarvm/moarvm | IRC logs at  http://irclog.perlgeek.de/moarvm/today
03:16 camelia joined #moarvm
03:18 camelia joined #moarvm
03:19 ingy jnthn: yeah that was good fun.
03:19 ingy jnthn: going to port it to some "lesser" langs tonight :)
03:20 ingy jnthn: do you have any pointers to Boy or Man?
03:21 ingy ah http://rosettacode.org/wiki/Man_or_boy_test :)
03:29 camelia joined #moarvm
03:33 jnap joined #moarvm
04:01 cognominal joined #moarvm
04:19 FROGGS joined #moarvm
04:34 jnap joined #moarvm
05:08 timotimo i think before i dive deeper into trying to make moarvm run in the browser, faxecutable support would be neat
05:08 FROGGS joined #moarvm
05:09 timotimo ideally, i could come up with something that packs the complete nqp and perl6 stuff into one single file that has all the dependend .moarvm files in it, too
05:11 timotimo all the .moarvm files in lib/languages/nqp compress to only 900 kB when throwing bz2 at it
05:11 timotimo and libbz2 is only 70 kB big :)
05:25 timotimo something nice ought to be buildable with gdb and python plugins to visualise the whole state of a moarvm process/instance
05:25 timotimo visualise and explore
05:25 timotimo like, with a pyqt based gui perhaps?
05:35 jnap joined #moarvm
05:38 timotimo yeah, you can apparently happily start a thread in the python support stuff of gdb and do gui stuff in there
05:51 FROGGS joined #moarvm
05:55 timotimo if you build a gdb with -fPIE, you can just import gdb and have a gdb be the python interpreter's inferior rather than the other way around, which should make threading concerns even simpler
06:15 FROGGS joined #moarvm
06:35 jnap joined #moarvm
06:54 arnsholt joined #moarvm
06:57 camelia joined #moarvm
07:36 jnap joined #moarvm
07:58 FROGGS joined #moarvm
08:28 timotimo so, it should be pretty doable to walk the nurseries and gen2's and see what type each allocated object is, right?
08:28 timotimo and get a summary of allocated things on the heap?
08:28 odc joined #moarvm
08:28 timotimo probably also could analyse how many objects of a specific type get kicked out of the nursery and how many get to live on in the gen2
09:38 jnap joined #moarvm
09:53 jnthn Yeah, it's easy 'cus every object has its size in its header.
10:21 lue joined #moarvm
10:38 jnap joined #moarvm
10:50 camelia joined #moarvm
10:54 camelia joined #moarvm
11:32 timotimo the moarvm gc is precise, does that mean i can directly infer the type of object something is from just having its pointer?
11:33 jnthn That's orthogonal to preciseness, but yeah :)
11:33 jnthn You look at flags to check it's not actually an STable
11:34 jnthn And provided it's not, you can cast to MVMObject and follow ->st->WHAT to have the type object
11:36 timotimo ossum :)
11:37 timotimo i was wondering about the evaling lots of grammars thing again last night
11:37 timotimo i know that there's a weak hash for the serialization contexts, but evaling from the same line of code a bunch of time won't cause multiple SCs to come into existence, right?
11:37 jnthn Well, it will, but SCs are gc-able
11:39 jnap joined #moarvm
11:41 timotimo ah, it could GC inside the SC
12:40 jnap joined #moarvm
13:41 jnap joined #moarvm
14:23 jnap joined #moarvm
14:28 jnthn FROGGS: about?
14:32 FROGGS jnthn: I am here
14:33 jnthn FROGGS: I'm trying to figure out why <:L> doesn't work, while <:Lu> and <:Ll> does. As I understand it, :L is just the union of those and a few others.
14:33 jnthn FROGGS: I note that "L" appears in unicode_db.c...
14:34 * diakopter could probably answer better
14:34 FROGGS I'd think that the check for the property value is wrong
14:35 diakopter yeah; nopaste the generated routine dump
14:35 jnthn diakopter: Please do...this is what breaks capitalize...
14:35 diakopter what is <:L> first of all
14:37 jnthn Letter
14:38 jnthn r: say 'I had to help my uncle jack off a horse'.wordcase(:where({ 7 == ++state $i }))
14:38 diakopter does :Letter work
14:38 camelia rakudo-parrot 82f2fd, rakudo-jvm 82f2fd: OUTPUT«I had to help my uncle Jack off a horse␤»
14:38 camelia ..rakudo-moar 82f2fd: OUTPUT«I had to help my uncle jack off a horse␤»
14:38 jnthn :(
14:38 jnthn m: say /abc/ ~~ /<:Letter>/
14:38 camelia rakudo-moar 82f2fd: OUTPUT«Nil␤»
14:38 jnthn p: say /abc/ ~~ /<:Letter>/
14:38 camelia rakudo-parrot 82f2fd: OUTPUT«Nil␤»
14:38 jnthn j: say /abc/ ~~ /<:Letter>/
14:38 camelia rakudo-jvm 82f2fd: OUTPUT«Nil␤»
14:38 jnthn bah, nowhere
14:39 jnthn oh, darn
14:39 jnthn r: say 'abc' ~~ /<:Letter>/
14:39 FROGGS must go now, I am back in two or three hours :/
14:39 camelia rakudo-moar 82f2fd: OUTPUT«Nil␤»
14:39 camelia ..rakudo-parrot 82f2fd, rakudo-jvm 82f2fd: OUTPUT«「a」␤␤»
14:39 jnthn No, :Letter doesn't
14:39 diakopter m: say 'a' ~~ /<:letter>/
14:39 camelia rakudo-moar 82f2fd: OUTPUT«Nil␤»
14:40 diakopter m: say 'a' ~~ /<:digit>/
14:40 camelia rakudo-moar 82f2fd: OUTPUT«Nil␤»
14:40 diakopter m: say '1' ~~ /<:digit>/
14:40 camelia rakudo-moar 82f2fd: OUTPUT«「1」␤␤»
14:40 diakopter m: say '1' ~~ /<:Digit>/
14:40 camelia rakudo-moar 82f2fd: OUTPUT«「1」␤␤»
14:40 diakopter I think Letter was the first one I tested
14:40 diakopter when making it
14:46 dalek MoarVM: e294fc5 | jnthn++ | src/strings/ops.c:
14:46 dalek MoarVM: Accept NEL into newline cclass.
14:46 dalek MoarVM: review: https://github.com/MoarVM/MoarVM/commit/e294fc58a6
14:52 jnthn m: say 'abc' ~~ /<[bc]>*/
14:52 camelia rakudo-moar 82f2fd: OUTPUT«「」␤␤»
14:53 jnthn r: say 'abc' ~~ /<[bc]>*/
14:53 camelia rakudo-parrot 82f2fd, rakudo-jvm 82f2fd, rakudo-moar 82f2fd: OUTPUT«「」␤␤»
14:54 jnthn r: say 'abc' ~~ /a<[bc]>+/
14:54 camelia rakudo-parrot 82f2fd, rakudo-jvm 82f2fd, rakudo-moar 82f2fd: OUTPUT«「abc」␤␤»
14:55 jnthn r: say 'abc' ~~ /a<[bc]>+?/
14:55 camelia rakudo-parrot 82f2fd, rakudo-jvm 82f2fd, rakudo-moar 82f2fd: OUTPUT«「ab」␤␤»
14:55 jnthn r: say 'abc' ~~ /a<[bc]>{1,2}/
14:55 camelia rakudo-moar 82f2fd: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/48oBAi08pJ␤Unsupported use of {N,M} as general quantifier; in Perl 6 please use ** N..M (or ** N..*)␤at /tmp/48oBAi08pJ:1␤------> [32msay 'abc' ~~ /a<[bc]>{1,2}[33m⏏[31m/[0m␤»
14:55 camelia ..rakudo-jvm 82f2fd: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/Hz8_dJSMIh␤Unsupported use of {N,M} as general quantifier; in Perl 6 please use ** N..M (or ** N..*)␤at /tmp/Hz8_dJSMIh:1␤------> [32msay 'abc' ~~ /a<[bc]>{1,2}[33m⏏[31m/[0m␤»
14:55 camelia ..rakudo-parrot 82f2fd: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/UQ6b2q75t1␤Unsupported use of {N,M} as general quantifier; in Perl 6 please use ** N..M (or ** N..*)␤at /tmp/UQ6b2q75t1:1␤------> [32msay 'abc' ~~ /a<[bc]>{1,2}[33m⏏[31m/[0m␤»
14:55 jnthn r: say 'abc' ~~ /a<[bc]>**1..2/
14:55 camelia rakudo-parrot 82f2fd, rakudo-jvm 82f2fd, rakudo-moar 82f2fd: OUTPUT«「abc」␤␤»
14:55 jnthn r: say 'abc' ~~ /a<[bc]>**?1..2/
14:55 camelia rakudo-parrot 82f2fd, rakudo-jvm 82f2fd, rakudo-moar 82f2fd: OUTPUT«「ab」␤␤»
14:55 jnthn r: say 'abcbc' ~~ /a<[bc]>**?2..3/
14:55 camelia rakudo-parrot 82f2fd, rakudo-jvm 82f2fd, rakudo-moar 82f2fd: OUTPUT«「abc」␤␤»
14:56 jnthn hmm
14:56 diakopter any way to force a non-declarative in there?
14:57 jnthn r: say 'acdbcdbe' ~~ rx:P5/a(?:b|c|d){4,5}?(.)/ && $0
14:57 camelia rakudo-parrot 82f2fd, rakudo-jvm 82f2fd: OUTPUT«「d」␤␤»
14:57 camelia ..rakudo-moar 82f2fd: OUTPUT«Nil␤»
14:57 jnthn Well, that is the one I'm trying to golf...
14:57 jnthn r: say 'acdbcdbe' ~~ rx:P5/a(?:b|c|d){4,5}?(.)/
14:57 camelia rakudo-moar 82f2fd: OUTPUT«Nil␤»
14:57 camelia ..rakudo-parrot 82f2fd: OUTPUT«「acdbcd」␤ 0 => 「d」␤␤»
14:57 camelia ..rakudo-jvm 82f2fd: OUTPUT«「acd」␤ 0 => 「d」␤␤»
14:57 diakopter heh
14:58 jnthn Well, fail.
14:58 diakopter jvm seems most fail
14:58 jnthn I think Parrot has it right
14:58 jnthn JVM actually gets $0 right by accident o.O
14:59 jnthn And Moar totally blows it.
15:02 diakopter I think getting something right by accident is worse ;)
15:03 diakopter jnthn: does the same thing in p6 syntax work?
15:05 jnthn r: say 'acdbcdbe' ~~ rx/a[b|c|d]**?4..5(.)/
15:05 camelia rakudo-moar 82f2fd: OUTPUT«Nil␤»
15:05 camelia ..rakudo-parrot 82f2fd: OUTPUT«「acdbcd」␤ 0 => 「d」␤␤»
15:05 camelia ..rakudo-jvm 82f2fd: OUTPUT«「acd」␤ 0 => 「d」␤␤»
15:07 jnthn Think I might see what's up in moar
15:08 benabik joined #moarvm
15:32 diakopter jnthn: nice find
15:39 jnthn bah, deprecations tests fail due to line numbers being a little off
15:43 [Coke] why are we even testing those?
15:43 [Coke] (if this is the "things that used to be spec but now aren't" tests.)
15:44 jnthn They are. But other tests that care about line number also get things wrong...
15:44 [Coke] yahyah
16:30 dalek MoarVM: 288cec5 | jnthn++ | src/core/exceptions.c:
16:30 dalek MoarVM: Eliminate an incorrect fixup to line numbers.
16:30 dalek MoarVM: review: https://github.com/MoarVM/MoarVM/commit/288cec55b8
16:33 FROGGS joined #moarvm
16:41 jnthn Grrr...even with those fixes I'm still sometimes off...
16:46 TimToady well, line numbers are so 20th century
16:47 FROGGS hehe
16:47 [Coke] moar now at an even 28000 passing tests.
16:47 jnthn Woo
16:47 jnthn What was yesterday?
16:47 [Coke] up 2 tests from yesterday (because i added them to roast. :)
16:48 jnthn Oh, none of my commits today made it in time?
16:48 [Coke] sorry, up 12. so 10 more from elsewhere!
16:48 jnthn Ah well. Tomorrow.
16:48 [Coke] jnthn++
16:51 jnthn What's annoying is that --target=mast shows the annotations are right now...
16:52 FROGGS well, that is good, no?
16:52 diakopter off by how much
16:53 jnthn Well, it seems that it somehow picks up the next annotation
16:53 jnthn Rather than the one it should find
16:54 diakopter needs to subtract one or two frmo the bytecode offset before comparing it
16:54 diakopter for when it's pre-advanced
16:56 jnthn Point
16:56 jnthn Though there is the sink code after the call in question
17:02 jnthn diakopter: Yeah, I tweaked that, but still busted
17:06 jnthn Well...the bytecode dumper shows them all as annotation: x.p6:65536
17:09 timotimo is that NYI?
17:10 jnthn Looks like WI
17:14 diakopter WI?
17:14 dalek MoarVM: 4fdfd70 | jnthn++ | src/core/bytecodedump.c:
17:14 dalek MoarVM: Fix bytecode annotations dumping.
17:14 dalek MoarVM: review: https://github.com/MoarVM/MoarVM/commit/4fdfd705bd
17:14 dalek MoarVM: 2c82367 | jnthn++ | src/core/exceptions.c:
17:14 dalek MoarVM: Account for PC pre-increment; diakopter++.
17:14 dalek MoarVM: review: https://github.com/MoarVM/MoarVM/commit/2c82367ae4
17:14 jnthn Wrongly Implemented
17:15 jnthn Though I think string heap index size changed at some point, so it was probably right once.
17:15 diakopter oh
17:15 diakopter I knew those should be defines ;)
17:15 jnthn Anyway, with all this I can confirm that the annotations end up in the right place in the bytecode file too.
17:15 jnthn But we still report 'em wrong.
17:21 diakopter there were off-by-one fixups several places in nqp
17:26 diakopter jnthn: oh, the fix you did needs to check for 0 before it subtracts 1
17:26 diakopter 2c82367
17:26 diakopter er it needs to check whether it's the beginning of the bytecode segment for that frame
17:26 diakopter or something
17:27 jnthn diakopter: We can't call something having executed 0 instructions, can we?
17:27 diakopter sure, the first instruction can run an opcode that can throw
17:27 jnthn But then we look at throw_address, not return_address
17:28 diakopter oh
17:28 jnthn oh, which could be 0...
17:28 jnthn duh
17:31 jnthn oh...think I ofudn it
17:32 [Coke] parallel processing ssiue?
17:33 jnthn yeah, got it...
17:34 jnthn No, jnthn can't write a loop correctly issue
17:34 diakopter *all the time
17:35 dalek MoarVM: 6571abf | jnthn++ | src/core/exceptions.c:
17:35 dalek MoarVM: Ensure we don't -1 a 0 offset; diakopter++.
17:35 dalek MoarVM: review: https://github.com/MoarVM/MoarVM/commit/6571abf501
17:35 dalek MoarVM: 3a57b01 | jnthn++ | src/core/bytecode.c:
17:35 dalek MoarVM: Fix off-by-one in annotation lookup.
17:35 dalek MoarVM: review: https://github.com/MoarVM/MoarVM/commit/3a57b015bb
17:35 * [Coke] was stuj gkcinom yrou sgillenp!
17:35 jnthn Linear search. It's a hard algorithm :P
17:37 jnthn Deprecations related tests pass now, anyways
17:37 diakopter \o/
17:38 jnthn And the callframe.t failure is gone
17:38 jnthn And a couple of other error reporting ones
17:38 diakopter \o/
17:39 timotimo yays
17:39 FROGGS I am taking a look at <:L> now again
17:39 [Coke] regexes still the major source of failures, i think.
17:39 [Coke] how much of that is differing unicode versions, i wonder.
17:40 FROGGS still 711 pages to read though :o)
17:40 jnthn [Coke]: It's mostly that some things like <:L> simply don't work
17:40 FROGGS right, it is not really about unicode version
17:40 FROGGS s
17:40 jnthn [Coke]: I picked off three of the other S05 failures that didn't related to that already.
17:40 jnthn So we probably are only failing char prop related tests in S05 now.
17:41 jnthn Oh, that's not quite try
17:41 jnthn S05-mass/rx.t fails one test. That's the mongolian thingy
17:41 jnthn And we fail unicode-whitespace.t 'cus of Mongolia too
17:42 [Coke] S05-mass/rx.t failed 4 earlier today.
17:42 [Coke] named-chars.t failed 46
17:42 jnthn Odd, was only failing 1 here...
17:42 [Coke] ~130 failures in the *properties* files.
17:43 [Coke] http://feather.perl6.nl/~coke/moar.out - there's the daily run from today.
17:43 [Coke] 257 failures in S05 total.
17:44 [Coke] that's as of 3316bb1
17:45 jnthn The capitalize.t failures are related to the S05 failures too; fixing <:L> will also fix those.
17:45 FROGGS I dont understand why Ll and Lu resolves as MVM_UNICODE_PROPERTY_GENERAL_CATEGORY, but L as MVM_UNICODE_PROPERTY_GRAPHEME_CLUSTER_BREAK
17:46 jnthn That sounds...broken.
17:46 jnthn diakopter: ^^
17:47 FROGGS "L" appears several times in uniode_db.c
17:47 FROGGS first as 18, which is wrong
17:48 FROGGS then as 11, which is wrong too
17:48 FROGGS and finally as 14, which is correct
17:50 FROGGS I wonder... not that these pop up because I added aliases for categories
17:52 FROGGS seems so :/
17:52 diakopter ;)
17:52 FROGGS but I guess other tests fail now again
17:52 FROGGS *sigh*
17:53 diakopter see, I thought I got all the aliases originally
17:54 timotimo i'm having some trouble finding the way grammar classes etc are handled on moarvm. i'm guessing they are just P6Opaque?
17:57 jnthn timotimo: They have P6opaque REPR, yeah
17:57 jnthn timotimo: They're nothing special object system wise
17:58 timotimo right. and an instance or an entry into a lexpad or similar is all that would keep it alive?
17:58 jnthn That could, or any other place they were installed
17:59 jnthn Also any match objects they produce that are alive would point back to them.
17:59 timotimo that makes sense
17:59 timotimo but even if i just do eval q{ my anon grammar Foo { } } the memory usage keeps going up steadily
17:59 timotimo hm, are those things allocated in gen2?
18:00 jnthn Not generally
18:00 timotimo but that doesn't explain boundless growth, since there's a free-list going through the gen2 anyway
18:00 jnthn Right, gen2 is collected
18:00 jnthn Just less often.
18:00 timotimo yeah, which makes sense
18:01 jnthn yeah, loop { eval q{ anon grammar Foo { } } } is leaking
18:01 diakopter but each eval makes an SC
18:02 diakopter parts of which are gen2 allocated
18:02 timotimo jnthn: well, that would perhaps create a list from the results?
18:02 jnthn timotimo: Shouldn't be.
18:02 timotimo i did the same with a 1 at the end or something
18:02 timotimo OK
18:02 timotimo diakopter: but SC are weak-ref'd and gc'd or something like that
18:02 jnthn diakopter: Yeah, but we'll be sweeping gen2 a good number of times within the lifetime of this
18:03 jnthn diakopter: And the weak thingy means they *should* go away...
18:04 FROGGS here are test number with and without these aliases: https://gist.github.com/FROGGS/0c524af3699653d6b1de
18:04 FROGGS one can see why I thought these aliases are a good thing
18:05 jnthn FROGGS: aye; I'm guessing they are needed, but the way they're being done is breaking something?
18:05 jnthn timotimo: Well, seems we never hit gc_free in MVMCompUnit, which is certainly an issue
18:06 FROGGS jnthn: obviously, yeah
18:06 FROGGS jnthn: what should math <:Lu> btw?
18:06 FROGGS match*
18:06 jnthn FROGGS: Uppercase letters
18:06 FROGGS ahh
18:06 jnthn r: 'aBc' ~~ /<:Lu>/
18:06 jnthn r: 'aBc' ~~ /<:Ll>/
18:07 camelia rakudo-parrot 82effd, rakudo-jvm 82effd, rakudo-moar 82effd: ( no output )
18:07 camelia rakudo-parrot 82effd, rakudo-jvm 82effd, rakudo-moar 82effd: ( no output )
18:07 jnthn r: say 'aBc' ~~ /<:Lu>/
18:07 jnthn r: say 'aBc' ~~ /<:Ll>/
18:07 FROGGS k, L Lu and Ll do work now
18:07 camelia rakudo-parrot 82effd, rakudo-jvm 82effd, rakudo-moar 82effd: OUTPUT«「B」␤␤»
18:07 camelia rakudo-parrot 82effd, rakudo-jvm 82effd, rakudo-moar 82effd: OUTPUT«「a」␤␤»
18:10 raiph joined #moarvm
18:10 raiph i git cloned and built rakudo/moarvm yesterday on feather (more)
18:11 raiph at the end I notice a couple odd files:
18:11 raiph 1;0 raiph@feather:~/rakudo$ ls -lt
18:12 raiph -rwsr-sr-t  1 raiph raiph        0 Jan 17 01:10 non-existent-copy-stgt
18:12 raiph -rwsr-sr-t  1 raiph raiph        0 Jan 17 01:10 non-existent-copy-mtgt
18:12 FROGGS seems like leftovers from tests
18:13 FROGGS and I think I've seen that unlink does not work correctly sometimes
18:13 raiph ok. i did run make spectest (which failed)
18:13 FROGGS dinner &
18:13 raiph thx
18:23 jnthn raiph: Yeah, there are a couple of tests failing in copy.t that are probably to blame.
18:24 jnthn raiph: The merge doesn't convey "you can expect spectests to pass", just "you can expect to do a fair amount with it" :)
18:25 raiph jnthn: yeah, i'm hoping to carry out my quest with Rakudo/MoarVM
18:25 raiph "Make Rakudo's sort work per spec"
18:25 raiph http://questhub.io/realm/perl/quest/52bca72af6d329e15d0000ca
18:25 jnthn :)
18:26 timotimo what did i do wrong?
18:26 jnthn timotimo: ALL THE THINGS
18:26 jnthn :P
18:27 timotimo oh this is not about p6sort in moar
18:27 jnthn timotimo: I think raiph is talking about improvements that are independent of any particular backend, though...
18:27 raiph Add Ordering subsets to Rakudo.
18:27 raiph jnthn: which module would you add the spec'd Ordering subsets to?
18:28 raiph yeah, i should be talking in #perl6
18:28 jnthn raiph: Yeah, better to discuss there...
18:29 jnthn Though the answer is likely "same place you find the method sort(..)"
18:29 raiph thx
18:44 * jnthn is working on the return type checks for Rakudo on Moar
18:44 jnthn Should clear up a few tests failing 'cus of not having 'em.
18:44 jnthn But doing a cleanup on all backends of this to avoid a deref each return.
18:44 jnthn And simplify the Moar impl.
19:06 timotimo oh that sounds cool :)
19:06 timotimo we return a whole lot
19:38 FROGGS r: say "\x[C767]"  ~~ m/^<:Lu>$/
19:38 camelia rakudo-parrot 82effd, rakudo-jvm 82effd, rakudo-moar 82effd: OUTPUT«False␤»
19:41 FROGGS perl6-m -e 'say "\x[C767]" ~~ m/^<:Lu>$/'
19:41 FROGGS 「읧」
19:42 FROGGS this matches when I remove the extra aliases...
19:42 FROGGS trying a different patch now
19:43 FROGGS ahh, it does not even know about Lu atm O.o
19:44 * TimToady doesn't know how CJK or Hungul are supposed to consider case
19:44 FROGGS no, I mean the property Lu is unknown
19:45 FROGGS which results in a property value code of zero, which is the same value that every codepoint has for an unknown property, so it succeeds
19:46 FROGGS yeah, Lu, Ll etc are missing in the table of property codes now
19:48 FROGGS um, Lower does match A now, and Upper matches a
19:48 FROGGS >.<
19:54 jnthn Ugh, worked out why the return handling is thw ay it is
19:54 jnthn Can still make it cheap on Moar though :)
19:55 FROGGS cheap sounds good :o)
19:57 TimToady "Cheap, cheap, cheap!" --Chicken Little
20:01 FROGGS okay, I am installing the aliases only for general category now
20:02 FROGGS since L appears in hst as Leading_Jamo
20:02 FROGGS *as an alias
20:05 FROGGS k, it resolves L as general category now, but property value code is still zero
20:06 diakopter "Cheap, cheap, cheap!" --The Pied Piper
20:11 timotimo jnthn: removing the deref made it b0rk? is it about return-rw perhaps?
20:11 jnthn timotimo: oh, I didn't mean a decont
20:15 TimToady "Cheap, cheap, cheap!" --Your Mother
20:17 FROGGS >.<
20:18 jnthn r: sub foo returns Int { return 'omg' }; foo
20:18 camelia rakudo-moar 82effd: ( no output )
20:18 camelia ..rakudo-parrot 82effd: OUTPUT«Type check failed for return value; expected 'Int' but got 'Str'␤  in sub foo at /tmp/cMuBrXOZ1h:1␤  in block  at /tmp/cMuBrXOZ1h:1␤␤»
20:18 camelia ..rakudo-jvm 82effd: OUTPUT«Type check failed for return value; expected 'Int' but got 'Str'␤  in sub foo at /tmp/FxvPeoKwVD:1␤  in block  at /tmp/FxvPeoKwVD:1␤␤»
20:50 FROGGS I think I know now how to make L work
20:55 diakopter WAT
20:55 diakopter ...
20:55 FROGGS I'll will show a gist once it works
20:55 jnthn It's .BAT
20:55 jnthn FROGGS: yay :)
20:56 diakopter FROGGS: sry, wasn't replying to you
20:56 diakopter was reacting to this profile
20:56 FROGGS ahh
20:56 diakopter which can't possibly be correct
20:56 FROGGS okay :o)
20:57 diakopter oh.
20:58 jnthn Down to 10 individual test failures in S02 now, it seems
20:58 jnthn 5 in S03
20:59 diakopter it would help if I actually rebuilt nqp/rakudo with the new moar
20:59 diakopter maybe.
21:00 diakopter no, it's true; 66% of time was actually spent in deserialize
21:00 jnthn Is that a startup trace?
21:00 * jnthn is guessing so
21:01 diakopter no
21:01 diakopter it got partway into man or boy
21:01 diakopter I think.
21:01 jnthn Can't have got very far; deserialize only runs during startup...
21:02 jnthn Try a profile of just -e "1" or so
21:04 jnap joined #moarvm
21:08 diakopter well it ran 2 million interpreter instructions
21:10 diakopter there, a 5GB trace.
21:10 diakopter maybe that'll be less startup-y
21:11 diakopter yeah, 20m instr
21:11 diakopter 22.13% in allocation/gc
21:11 diakopter 19.5% in gc
21:12 * jnthn wonders where in GC is hot
21:13 diakopter process_worklist
21:14 diakopter and MVM_gc_mark_collectable has 10% exclusive
21:14 jnthn Wow...though I guess it is doing a lot of the work.
21:17 diakopter at least there doens't seem to be a memory leak
21:17 diakopter I think
21:20 diakopter there, ran one with instrumenting perl6_ops_moar.dll too, I think
21:54 diakopter bah.
21:59 dalek MoarVM: da37c0a | jnthn++ | src/core/frame.c:
21:59 dalek MoarVM: Missing sanity check in autoclose.
21:59 dalek MoarVM: review: https://github.com/MoarVM/MoarVM/commit/da37c0ace8
22:00 jnthn That's not a fix for it, just a missing sanity check
22:07 diakopter fix for what
22:08 jnthn The amout of autoclose we seem to be doing
22:08 jnthn We should be doing O(none)...
23:12 colomon joined #moarvm
23:29 dalek MoarVM/argh_it_hangs: 0cc39f2 | jnthn++ | src/core/frame.c:
23:29 dalek MoarVM/argh_it_hangs: Try caching auto-closed result.
23:29 dalek MoarVM/argh_it_hangs:
23:29 dalek MoarVM/argh_it_hangs: Results in a hang in Rakudo spectests.
23:29 dalek MoarVM/argh_it_hangs: review: https://github.com/MoarVM/MoarVM/commit/0cc39f26b5
23:29 diakopter ++

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