| MasterDuke | ok, so i (think i) pretty much have line directives implemented in nqp | 01:11 | |
| in HLL::Compiler.lineof | 01:12 | ||
| however, to make it more general solution, the line number in the directives in m-CORE.setting should be -1 instead of 1 (since there's the directive itself plus a blank line added) | 01:13 | ||
| would anybody mind if i were to change that? | 01:14 | ||
| hmm, it doesn't like -1, but 0 and removing the blank line works fine | 01:44 | ||
| lizmat | then please do remove the blank line: it was just added for clarity when perusing the generated setting | 06:42 | |
| MasterDuke: with your patch, much of that won't be needed anymore :-) | |||
| Files=1153, Tests=53736, 21 | |||
| Files=1153, Tests=53736, 210 wallclock secs (12.55 usr 3.90 sys + 1284.05 cusr 122.70 csys = 1423.20 CPU) | |||
| commute to T-Dose: t-dose.org | 07:24 | ||
| RabidGravy | boom! | 09:16 | |
| psch | good news! r-j still builds fine on hack | 09:48 | |
| yoleaux2 | 7 Nov 2016 20:25Z <viki> psch: I disabled JVM reporting again on Travis. It frequently gives OutOfMemoryError; dunno if it's just Travis? RT: rt.perl.org/Ticket/Display.html?id=130043 | ||
| psch | except that's actually bad news because it means travis is either ignoring some of our -Xm* settings or doing something else that's weird | ||
| lizmat waves from T-Dose | 09:49 | ||
| psch | hey lizmat o/ | ||
| lizmat | psch \o | 09:50 | |
| DrForr | o/ | 10:03 | |
| [TuxCM] | This is Rakudo version 2016.10-263-gfc6d4f3 built on MoarVM version 2016.10-44-g4c9fd00 | 10:27 | |
| csv-ip5xs 2.964 | |||
| test 13.807 | |||
| test-t 6.335 | |||
| csv-parser 15.094 | |||
| bartolin | r: say (42, 43, 44).antipairs.perl | 10:42 | |
| camelia | rakudo-jvm 8d357a, rakudo-moar fc6d4f: OUTPUT«(42 => 0, 43 => 1, 44 => 2).Seq» | ||
| bartolin | ^^ gives '(42 => 2, 43 => 2, 44 => 2).Seq' on recent r-j | ||
| timotimo | oh, there must be a decont missing somewhere | ||
| bartolin | seems to happen after c5c600112561 | ||
| hmm, maybe I'll have time to look at it later this weekend | 10:44 | ||
| psch | i wonder how much we have to stuff on top of NC to make it work for objective c... | 10:45 | |
| seeing as i'm working in a mac shop now we clearly need obj-c interop :P | |||
| bartolin | oh hai psch o/ | 10:46 | |
| psch | hey bartolin o/ | ||
| but yeah, the antipairs thingy could be a missing decont in the Pair.new call | 10:47 | ||
| ...i think, maybe | 10:48 | ||
| huh, there's an aweful lot of "This is Rakudo version * built on JVM implementing Perl 6.c." output during spectest o.o | 10:50 | ||
| like, probably something around 30 or 40 times by now | |||
| nine | Wow, what makes csv-ip5xs that much faster? | 11:42 | |
| timotimo | there was one change about nativecall, but that was just making sure it's not racy when setting up its return type | 11:43 | |
| so it shouldn't actually be any faster | |||
| nine | Maybe something improved startup or module loading time? | 11:44 | |
| timotimo | perhaps | ||
| but 0.1s? | |||
| or 0.2s? that's massive for a startup improvement | |||
| is someone looking into the antipairs bug? or are we getting an RT for it? | 11:46 | ||
| lizmat | please RT it, will look at it then | ||
| and if someone could write tests for it :-) | |||
| star: say (42, 43, 44).antipairs.perl | 11:50 | ||
| camelia | star-m 2016.04: OUTPUT«(42 => 0, 43 => 1, 44 => 2).Seq» | ||
| timotimo | only on -j | ||
| the -j commit camelia's on is 3 weeks old | 11:51 | ||
| dalek | kudo/nom: 7d711ee | lizmat++ | src/core/ (3 files): Restore @a[Enum] behaviour Apparently this got broken a while ago, and not noticed in tests. |
11:53 | |
| nine | camelia's jvm compilation fails with: java.lang.RuntimeException: Missing or wrong version of dependency 'gen/jvm/stage2/QRegex.nqp' | 11:56 | |
| I guess removing /home/camelia/rakudo-j-inst-2/* will help | 11:57 | ||
| Well, can't hurt anyway :) | |||
| bartolin | timotimo, lizmat I'm testing a fix for the antipairs bug (adding a nqp::decont as timotimo++ suggested) | 12:02 | |
| timotimo | cool | ||
| lizmat | $key being a native, decont is not going to bring much I'm afraid | ||
| lizmat is also testing a patch | 12:03 | ||
| bartolin | the above code works as expected after adding a nqp::decont | ||
| lizmat | but compiling the JVM takes sooooo long | ||
| it does? | |||
| bartolin | lizmat++ -- feel free to add your patch :-) | ||
| lizmat | that must be a side-effect of the decont() | 12:04 | |
| bartolin | yeah, I'm not sure why that decont() helps ... | ||
| lizmat | at least another 3 mins before I can test my patch :- | 12:05 | |
| ( | |||
| bartolin: $ ./perl6-j -e 'say (42, 43, 44).antipairs.perl' | 12:11 | ||
| (42 => 0, 43 => 1, 44 => 2).Seq | |||
| dalek | kudo/nom: dd7b055 | lizmat++ | src/core/Rakudo/Internals.pm: Fix <a b c>.antipairs breakage on JVM bartolin++ for spotting and providing alternate patch |
12:12 | |
| lizmat | bartolin: my patch was shorter :-) | 12:13 | |
| bartolin | ohh! lizmat++ :-) | 12:16 | |
| dogbert17 | lizmat: my shaped array benchmark now runs in 97 secs, used to be 377 in september | 12:20 | |
| bartolin | lizmat: btw, I don't understand the purpose of fb0c648447. after that commit executing 'make' doesn't rebuild r-j if I made a change to one of the moved source files. Is that intended? | 12:23 | |
| lizmat: you added @jvm_core_source@ but in Configure.pl we only have moar_core_source github.com/rakudo/rakudo/blob/dd7b...re.pl#L161 | 12:24 | ||
| lizmat | bartolin: no that's not intended | 12:32 | |
| I was just bitten by that as well | 12:33 | ||
| I thought it would make it easier to add files and *not* have to reconfigure to be able to build :-) | |||
| jnthn | lizmat: Any chance of tests for 7d711ee so it doesn't get busted again? :) | 12:34 | |
| lizmat | bartolin: would it be as simple as adding jvm_core_sources ? | ||
| jnthn: well, yes, I would hope so | 12:35 | ||
| bartolin | lizmat: yeah, I think so (tested that the other day) | ||
| jnthn | lizmat: If you aren't planning to write you, maybe file a roast issue so it's not forgotten? | ||
| lizmat | bartolin: ok, will test that | 12:36 | |
| jnthn: I'll write some tests :-) | |||
| jnthn | lizmat++ | ||
| bartolin | lizmat: I didn't yet look whether that influences the Moar backend, though | 12:37 | |
| lizmat | (configuring/building JVM, check again in 10 mins or so) | ||
| dalek | ast: ca9e50d | lizmat++ | S06-signature/shape.t: Add test for using an Enum as an array shape |
12:50 | |
| lizmat | Hmm... build failed | 12:51 | |
| (on JVM) | |||
| java.lang.OutOfMemoryError: PermGen space | 13:05 | ||
| grrr | |||
| psch | o.o | 13:06 | |
| so we're breaking the jvm GC by now..? | |||
| lizmat | Java HotSpot(TM) 64-Bit Server VM warning: Exception java.lang.OutOfMemoryError occurred dispatching signal SIGINT to handler- the VM may need to be forcibly terminated | ||
| psch | stackoverflow.com/questions/88235/ looks like that error is GC related | 13:07 | |
| lizmat | kill -9 works | ||
| dogbert17 | stupid question, how can it say Permgen space, aren't you running jdk 8? | 13:15 | |
| lizmat | $ javac -version | 13:17 | |
| javac 1.7.0_45 | |||
| whatever I got on my OS X box from Oracle | 13:18 | ||
| dogbert17 | gah, I think the Permgen problem was solved, once and for all with JDK 8 | ||
| lizmat | nuking install, configuring with original file now | 13:19 | |
| MasterDuke | so my line directive code breaks a bunch of tests. i think some of the tests can probably be changed to reflect the new code (e.g., they were checking for a hardcoded string that's slightly different now) | 13:20 | |
| dogbert17 | lizmat: docs.oracle.com/javase/8/docs/tech...c_jdk.html | ||
| MasterDuke | however, some are trickier and are broken because Backtrace.is-setting() is just '$!file.ends-with("CORE.setting")', but now the $!file is something like 'src/core/Int.pm' | 13:21 | |
| what's a better way to do that is-setting() check? | 13:23 | ||
| lizmat | MasterDuke: ah, wow, eh yes good question :-) | 13:24 | |
| contains('src/core') ? | |||
| MasterDuke: I think ^^ will be sufficient for now | 13:25 | ||
| MasterDuke | hmm, right, because the 'src/Perl6' stuff shows up differently before my change anyway | 13:26 | |
| lizmat | yup | ||
| nine | So people should not develop their modules in a src/core directory? | ||
| MasterDuke | nine: FWIW, there is already an error message somewhere if you try to compile a file ending in '.setting' | 13:27 | |
| btw, in pure nqp land, how much faster are the nqp::<op> counterparts to things like <, [], etc.? | 13:29 | ||
| nine | I would assume not faster at all? | 13:32 | |
| MasterDuke | so would HLL::Compiler be in that pure nqp land? because much of it uses ::atpos_i and such, which i find a bit harder to read | 13:34 | |
| btw, this is the current output with my changes and .contains('src/core') in is-setting(). gist.github.com/MasterDuke17/d48a9...c2ba705e9d | 13:35 | ||
| i added what the output looks like before my changes. somehow i'm also dropping the 'gen/moar/...' filenames | 13:38 | ||
| changing topics completely, is there any sort of rule/precedent for blocking people for a while because they keep timing out and rejoining and creating lots of join messages (speaking of pyrimidine here)? it is only a relatively minor annoyance, should i just ignore it? | 14:00 | ||
| psch | i've been meaning to figure something out wrt filtering in my client for some time but haven't yet, at all | 14:05 | |
| like, having dalek collapsed but expandable would be cool, but dunno if irssi can even do that :P | 14:06 | ||
| and yeah, collapsing a lot of join/timeout would be nice too | |||
| or maybe even just remove it | |||
| MasterDuke | the logs on irclog.perlgeek.de do collapse bunches of quit/join, but i'm using the freenode.net webchat and it doesn't | 14:07 | |
| oh hey, but it does have an option to hide them completely! let me see how i like that | 14:09 | ||
| bartolin | r: say \(42, [1, 2]).antipairs.perl # another antipairs bug with r-j | 14:34 | |
| camelia | rakudo-moar dd7b05: OUTPUT«(42 => 0, ([1, 2]) => 1).Seq» | ||
| ..rakudo-jvm dd7b05: OUTPUT«(42 => 1, ([1, 2]) => 1).Seq» | |||
| bartolin | (shortened from S02-types/capture.t) | 14:35 | |
| lizmat | bartolin: sonit still isn't fixed | 14:39 | |
| bartolin | the other one is fixed (there were tests in S09-typed-arrays/native-int.t that pass again, now) | 14:40 | |
| lizmat | hmmm... weird. they should be the same bug and fix | 14:41 | |
| bartolin | but this one seems to be unrelated (seems to be introduced a bit later) | ||
| bartolin eyes Rakudo::Internals::ShapeLeafIterator | 14:42 | ||
| lizmat | antipairs isn't using that, is it ? | 14:43 | |
| java.lang.InternalError: collect=Lambda(a0:L,a1:L,a2:I,a3:L,a4:L,a5:L)=>{ | 14:44 | ||
| t6:L=ValueConversions.array(a4:L,a5:L); | |||
| t7:V=MethodHandle(String,int,ThreadContext,Object[])void(a1:L,a2:I,a3:L,t6:L);t7:V} | |||
| sigh | |||
| bartolin | lizmat: you're probably right. I haven't really looked at it. (maybe will do so later) | 14:45 | |
| lizmat | well, I can't seem to build the JVM backend anymore :-( | 14:46 | |
| psch | that method handle looks like invokeDirect or somesuch, actually | 14:47 | |
| or maybe one of the indy methods | 14:48 | ||
| MasterDuke | lizmat: btw, ./perl6-m -e 'EVAL "\n#line 20 foo.bar\n;die q|baz|";' locally gives me: baz in block <unit> at foo.bar line 21 | 14:52 | |
| lizmat | MasterdDuke: the way it works in Perl 5, is that you specify the number of the *next* line | 14:54 | |
| so I sorta expected to see "line 20" at the end there | |||
| bartolin | lizmat: duplicating your earlier fix to the other Pair.new (in pull-one in IterateAntiPairFromIterator) gives the right result | ||
| lizmat | aaaahhhh yes, good catch! | ||
| bartolin: I'll commit | 14:55 | ||
| bartolin doesn't understand why r-j needs that, actually | 14:56 | ||
| dalek | kudo/nom: 76b0618 | lizmat++ | src/core/Rakudo/Internals.pm: Oops, forgot to do the pull-one case as well. Spotted by bartolin++ again! |
||
| lizmat | bartolin: probably because it binds in the Pair.new rather than assignes | 14:57 | |
| *assigns | |||
| bartolin | aha. lizmat++ | 14:58 | |
| nine | j: say $*PERL.compiler.version | 15:17 | |
| camelia | rakudo-jvm dd7b05: OUTPUT«v2016.10.265.gdd.7.b.055» | ||
| nine | m: say $*PERL.compiler.version | 15:18 | |
| camelia | rakudo-moar 76b061: OUTPUT«v2016.10.266.g.76.b.0618» | ||
| lizmat goes back to looking at fixing "make" wrt changed source-files | 15:21 | ||
| on the JVM, that is | 15:22 | ||
| nine | j: say $*PERL.compiler.version | 15:31 | |
| camelia | rakudo-jvm 76b061: OUTPUT«v2016.10.266.g.76.b.0618» | ||
| nine | seems to be back on track | ||
| bartolin | \o/ | ||
| r: say \(42, [1, 2]).antipairs.perl | 15:32 | ||
| camelia | rakudo-{moar,jvm} 76b061: OUTPUT«(42 => 0, ([1, 2]) => 1).Seq» | ||
| lizmat | yeah, building for the JVM takes a bit longer | ||
| bartolin: looks good, right ? | |||
| bartolin | nine: does it automatically rebuild r-j now? | ||
| lizmat: yeah, it does | |||
| MasterDuke | i would love for all the builds to get a lot faster. maybe i should profile the rakudo build again (i don't remember what the last profile showed) | 15:34 | |
| lizmat | MasterDuke: which profiler ? | ||
| MasterDuke | the built in one | ||
| lizmat | bartolin: and now it fails to build again :-( | 15:36 | |
| dalek | kudo/nom: aa86b9e | lizmat++ | Configure.pl: Hopefully fix development on JVM backend |
||
| lizmat | bartolin: couldn't test this ^^^ can you? | 15:37 | |
| MasterDuke | i couldn't use either profile-viewing tool (even after recompiling Qt to enable higher file size limits for its JSON parsing), but i think i could manually pull some relevant info out | ||
| bartolin | :-/ I had not problems with my nightly builds recently. but I'm using JDK 1.8 and if I understood correctly the problem is related to JDK < 1.8 | ||
| lizmat | MasterDuke: that would be excellent | ||
| bartolin | lizmat: yes, will do it later (have to go now) | 15:38 | |
| nine | bartolin: I cleaned both checkouts and installation dirs. Should rebuild automatically now | 16:01 | |
| MasterDuke | --profile-compile with --target=parse resulted in a 830mb json file, now to try and make some sense of it | 16:22 | |
| lizmat | T-Dose shutting down for today& | 16:33 | |
| stmuk_ | gist.github.com/stmuk/27a299bcb6ae...6cab843663 | 17:07 | |
| anyone seen anything like that panda bootstrap error on windows? | 17:08 | ||
| nine | The mixture of / and \ in paths doesn't look healthy. But may be ok. | 17:14 | |
| stmuk_ | I think I had that before with successful builds | 17:16 | |
| hmm my last windows issue was fixed in moar so I'll bump it a bit more | 17:24 | ||
| timotimo | i'm glad moar was able to fix your windows issue :) | 17:25 | |
| stmuk_ | I don't even *like* windows! | 17:26 | |
| MasterDuke | hmm, seems a little fishy that the largest exclusive time in my profile is only 89828 | 21:22 | |
| has anyone else worked with profiles (not using the html or Qt viewers)? | 21:24 | ||
| pyrimidine | MasterDuke: apologies for the IRC issues, my wireless at work (which logs this) is flipping out. I'm running off ethernet only now, should fix things | 21:52 | |
| MasterDuke | pyrimidine: no worries, it inspired me to find the setting to hide all leave/join, which i didn't know existed, so i call it a win | 21:54 | |
| pyrimidine | MasterDuke: yes, those are quite nice | 21:56 | |
| MasterDuke | on another topic, how would i specify that something is optionally quoted in the NQP grammar? | 22:12 | |
| moritz | '"' <thing> '"' | <thing> | 22:15 | |
| MasterDuke | the part of the Perl 5 regex that find the filename in a line directive is: (?:\s("?)([^"]+)\g2), but i would like to support all the quotes | ||
| timotimo | ALL THE QUOTES | ||
| moritz | MasterDuke: <quote> | <identifier> # or something | 22:16 | |
| MasterDuke | i feel like there's some way to make sure the quotes are matching. i.e., if you use a fancy quote that looks different on either side, make sure it the corresponding one on the other | ||
| moritz | MasterDuke: you can reuse the existing rules that parse quoted strings | 22:17 | |
| though <quote> includes regexes | |||
| MasterDuke | i see a bunch of token quote:sym<apos>, token quote:sym<hapos>, token quote:sym<sdblq>, etc in rakudo's Grammar | 22:20 | |
| maybe i'll select out the ones that are normal punctuation, i.e., not qq, etc. | 22:22 | ||
| hm, seems like nqp doesn't seem to support anything outside the usual two characters for its normal quoting. not sure i need to add support for fancy quotes just for line directives | 22:38 | ||
| another regex/grammar question. is there a way to match the negation of a capture? | 22:50 | ||
| m: if "a12a3a" ~~ /(<[ab]>) (<-[$0]>+) $0/ { say $/ } | 22:51 | ||
| camelia | rakudo-moar aa86b9: OUTPUT«「a12a3a」 0 => 「a」 1 => 「12a3」» | ||
| MasterDuke | where i want $1 to be 「12」 | ||
| TimToady | m: if "a12a3a" ~~ /(<[ab]>) ([<!before $0>.]+?) $0/ { say $/ } | 23:44 | |
| camelia | rakudo-moar aa86b9: OUTPUT«「a12a」 0 => 「a」 1 => 「12」» | ||
| TimToady | you can't interpolate into character classes | 23:46 | |
| timotimo | what is our nicest http request library btw? HTTP::UserAgent? | 23:53 |