Perl 6 - the future is here, just unevenly distributed

IRC log for #moarvm, 2014-08-18

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

All times shown according to UTC.

Time Nick Message
01:24 FROGGS_ joined #moarvm
01:35 [Coke] m: my $foo; "" ~~ m/$foo=(.)/; # distilled from t/spec/S05-capture/alias.t
01:35 camelia rakudo-moar 05f006: OUTPUT«===SORRY!===␤QAST::Block with cuid cuid_1_1408325735.46198 has not appeared␤»
01:37 [Coke] r: my $foo; "" ~~ m/$foo=(.)/; # distilled from t/spec/S05-capture/alias.t
01:37 camelia rakudo-jvm 05f006: OUTPUT«(timeout)»
01:37 camelia ..rakudo-parrot 05f006: OUTPUT«===SORRY!===␤Could not find sub cuid_1_1408325832.00691␤»
01:37 camelia ..rakudo-moar 05f006: OUTPUT«===SORRY!===␤QAST::Block with cuid cuid_1_1408325845.5924 has not appeared␤»
03:48 itz joined #moarvm
05:24 nwc10 jnthn: PASS (except just t/spec/S32-io/IO-Socket-Async.rakudo.moar and t/spec/integration/advent2009-day06.t)
05:33 dalek joined #moarvm
06:56 sergot hi o/
06:58 zakharyas joined #moarvm
07:03 FROGGS jnthn: morning... v5 works now out of the box on windows, though, I cannot reproduce the problem as of yesterday
07:07 timotimo [Coke]: that looks like we've optimized away a block (possibly through inlining) but didn't create the stub block that the compiler wants - we have to do that to get rid of this exact error message
07:09 brrt joined #moarvm
07:21 dalek MoarVM: 0cc88e4 | jimmy++ | src/moar.c:
07:21 dalek MoarVM: cleans up
07:21 dalek MoarVM: review: https://github.com/MoarVM/MoarVM/commit/0cc88e4551
07:35 klaas-janstol joined #moarvm
08:12 FROGGS[mobile] joined #moarvm
08:30 dalek MoarVM: 9843995 | jimmy++ | src/moar.c:
08:30 dalek MoarVM: cleans up
08:30 dalek MoarVM: review: https://github.com/MoarVM/MoarVM/commit/98439952ae
08:32 jimmyz joined #moarvm
08:34 jimmyz sorry, I pushed an email which I don't want to open, if you can't pull moarvm, please do 'git reset HEAD^ --hard'
08:38 FROGGS[mobile] s/email/commit/ and s/pull/build/?
08:43 jnthn so confuse...
08:44 jnthn nwc10: Yay, guess that means the use-after-free is gone :)
08:44 nwc10 it sure seems so
09:03 dalek MoarVM: 0e29ce6 | jimmy++ | .gitignore:
09:03 dalek MoarVM: update .gitignore
09:03 dalek MoarVM: review: https://github.com/MoarVM/MoarVM/commit/0e29ce6b28
09:07 brrt joined #moarvm
09:07 brrt uhm, is there a reason for me to fail the underscores spectest?
09:08 dalek MoarVM/moar-jit: c3670a2 | (Bart Wiegmans)++ | src/6model/reprs/P6 (3 files):
09:08 dalek MoarVM/moar-jit: Create storagespecs as needed for P6num and P6int
09:08 dalek MoarVM/moar-jit: review: https://github.com/MoarVM/MoarVM/commit/c3670a28fd
09:12 brrt or,in other words, what are the 'usual sins'?
09:13 nwc10 brrt: what I saw earlier was just 2: http://irclog.perlgeek.de/moarvm/2014-08-18#i_9201881
09:13 nwc10 and I was a bit surprised
09:13 nwc10 there's an async IO test that I didn't think had been fixed yet
09:13 nwc10 it flaps
09:14 jnthn brrt: I've not seen that fail...
09:14 brrt hmm
09:15 brrt maybe my rakudo is out of date with the specs
09:15 nwc10 http://www.theregister.co.uk/2014/08/18/oracle_reveals_32core_10_beeellion_transistor_sparc_m7/ -- “32 of these chips can be connected in an SMP configuration. A potential system with 32 chips will have 1024 cores and 8192 threads and 64 TB of RAM.”
09:15 nwc10 (does not say how much blood you need to pay that Larry to run Oracle on it)
09:15 nwc10 however, lots-of-cores appears to be the future
09:16 jnthn :D
09:18 nwc10 actually, El Reg author fail - that's usually the sort of cynicism that they bring to a story. This suggest that it's a recyled press release, rather than actual work
09:20 brrt works now
09:21 brrt the failing spectest, that is
09:25 * brrt is seeing much the same errors
09:29 dalek MoarVM/moar-jit: a77b86a | (Bart Wiegmans)++ | src/jit/graph.c:
09:29 dalek MoarVM/moar-jit: Re-enable objprimspec
09:29 dalek MoarVM/moar-jit: review: https://github.com/MoarVM/MoarVM/commit/a77b86afce
09:30 brrt i'm happy about this branch. if nwc10++ or any others can test it, i'll merge it with master
09:30 brrt also, this has objprimspec
09:53 klaas-janstol joined #moarvm
09:54 nwc10 brrt: Odd. Build of NQP for me blows up pretty soon with
09:54 nwc10 Unhandled exception: This representation (P6int) cannot unbox to a native num
10:04 brrt joined #moarvm
10:05 brrt nwc10: really?
10:05 brrt that's odd indeed
10:06 nwc10 RLY
10:06 nwc10 this is where I miss a sarky bot
10:07 nwc10 I have checked between the keyboard and the chair, and I don't think that the problem lies there
10:07 brrt hmmm
10:08 brrt you have commit a77b86afce147c784b7cb390ec66bb6db05ea6bb
10:08 brrt ?
10:08 brrt just checking to be absolutely super sure :-)
10:08 nwc10 I'm at a77b86afce147c784b7cb390ec66bb6db05ea6bb
10:09 nwc10 This is MoarVM version 2014.07-417-ga77b86a built with JIT support
10:09 brrt maybe if i build without optimize=0
10:09 nwc10 this is also a full clean build
10:10 jnthn hm, I checked out moar-jit, nmake, and did a clean build of NQP and it worked...
10:10 nwc10 odd
10:11 brrt hmm
10:12 nwc10 OK, optmised build past NQP into Rakudo
10:12 brrt huh, whcih commit is that? ga77b86a
10:12 nwc10 so, strange
10:12 nwc10 This is MoarVM version 2014.07-417-ga77b86a built with JIT support
10:12 nwc10 I don't know why git likes the g, but it seems to be standard
10:12 brrt yeah i have the same commit
10:13 brrt oh i see
10:17 nwc10 brrt: OK, build with the --asan flag for MoarVM
10:17 nwc10 that seems to be what is making NQP behave differently
10:25 nwc10 arse
10:26 nwc10 git submodules @expletives git clean @more-expletives half-arsed-bodge-job
10:28 nwc10 OK, actually that's not it this time
10:28 nwc10 but the rant stands
10:29 brrt hmmm
10:29 nwc10 OK, now that rant applies as I retry different build configs
10:30 nwc10 brrt: try adding --asan flag to MoarVM Configure.pl line
10:30 nwc10 that seems to be all that is needed to create unhappiness
10:37 brrt yeah, i'm trying :-)
10:37 brrt i see
10:37 brrt hmm
10:38 brrt ok, that's good to know
10:38 nwc10 you can recreate it? (even though it's not yet clear why)
10:38 brrt yes, i can
10:39 brrt hmm
10:40 jnthn ASAN causing a behavioral change is...weird.
10:40 brrt ASAN zeroes stuff out
10:42 jnthn ah, true
10:42 timotimo maybe there's a way to fill stuff with random values instead to make it extra-explode
10:44 brrt hmm, that's not necessary i hope
10:44 nwc10 valgrind...
10:45 nwc10 http://paste.scsys.co.uk/416440
10:45 nwc10 (was running, finished just as I was about to paste the partial results)
10:45 nwc10 that might be the problem
10:45 nwc10 anyway, it needs fixing
10:48 timotimo you check repr_data->bits and storage_spec->bits? i suppose that's correct, though
10:49 timotimo maybe that should be if (!repr_data->storage_spec)
11:10 brrt joined #moarvm
11:11 brrt aha, i see
11:12 brrt that is probably it
11:12 brrt but, where are all repr_data's allocated?
11:13 timotimo i thought it gets allocated together with the stable that first uses that "kind" of the repr in question?
11:14 brrt hmm
11:15 timotimo type_object_for does it
11:18 brrt i'mma be fixing that
11:19 timotimo .o( do we build super many repr_data instances, instead of re-using them? )
11:20 jnthn The point of repr_data is stuff that varies between types goes in it
11:20 timotimo right, but we probably have many instances of 64bit P6int
11:21 timotimo well, the repr_data is usually pretty small
11:22 jnthn Uh, it's per *type*
11:22 jnthn Not per instance.
11:22 timotimo er... i meant instance of repr ...
11:23 timotimo anyway, forget what i'm saying; i'm probably confused
11:23 jnthn NQP has an int type, and Perl 6 has an int type, so we're maybe looking at a tiny bit of duplication. :)
11:23 jnthn But yeah, we're looking at a handful of bytes.
11:23 jnthn I'd imagine the code to reliably cache/share them would take more bytes :)
11:24 timotimo aye, probably would
11:24 jnthn On the JVM it's a little different, because we generate a JVM class per P6opaque. That's a good bit more heavyweight, so those do get shared.
11:25 jnthn (The sharing is related to the "form" and ignorant of stuff like attribute names, though)
11:25 timotimo ah
11:28 brrt nwc10++
11:28 timotimo would it be sensible to mention in the weekly that you're working on asynchronous Subprocess management in preparation of your next talk, jnthn?
11:29 nwc10 me? I thought all I did was drink too much coffee and heckle :-)
11:29 brrt jnthn: i should note, though, is there a good reason for having separate p6int and p6num and nqpnum and nqpint and whatever types
11:29 brrt i.e.
11:29 brrt boxing native objects; why should we have more than 1 implementation?
11:30 timotimo is that because you can mix into the Int and Num classes that are built around p6int and p6num?
11:30 brrt having only a single implementation is pretty much more efficient accross the board - no pointer lookups, no setting them up, no deserialization / serialization
11:34 jnthn timotimo: Well, "in prep for the talk" I dunno, but async process management is in place and, afaict, working. :)
11:34 timotimo oke :)
11:34 timotimo brrt: wait, don't we actually use p6int and p6num in both nqp and rakudo?
11:34 timotimo well, we have BOOTInt and p6int i suppose
11:34 jnthn brrt: int in Rakudo should inherit from Mu - as a type object, at least. Granted it flattens away elsewhere.
11:35 timotimo oh, p6int is the repr, but we have our own class using that repr in nqp and rakudo
11:35 jnthn The NQP type can't do that :)
11:35 jnthn Right
11:35 jnthn One REPR, multiple types based on it.
11:35 timotimo why am a so derp right now?
11:35 jnthn It's Monday.
11:36 brrt that is a good reason
11:36 dalek MoarVM/moar-jit: 96878fc | (Bart Wiegmans)++ | src/6model/reprs/ (4 files):
11:36 dalek MoarVM/moar-jit: Fix unitialized use in P6int / P6num
11:36 dalek MoarVM/moar-jit: review: https://github.com/MoarVM/MoarVM/commit/96878fc6de
11:36 brrt nwc10 :-) if you would
11:37 nwc10 anything to avoid thinking too hard about logging :-)
11:37 nwc10 (was considering "make tea")
11:39 brrt whats wrong with logging? http://www.tgbuildings.co.uk/uploads/backgrounds/background_logs.jpg
11:40 nwc10 nothing. I'd like it if we had it already, rather than needing to work out how to retrofit it
11:41 timotimo oh, is the jit still ignorant of OSR?
11:41 brrt no
11:41 jnthn No, it knows it well
11:41 brrt jit knows OSR all ight
11:41 timotimo nice
11:41 brrt right
11:41 timotimo when moar-jit gets merged, i'll probably run benchmarks again :)
11:41 jnthn nwc10: Mostly I'd just say try to use an existing logging framework, rather than inventing Yet Another One. :)
11:42 nwc10 jnthn: oh yes, it's "which existing wheel is the best fit?" not "everything sucks. We must make a new one"
11:42 * jnthn remembers $client that wanted to use a flexible, extensible logging framework AND wrap it up in their own API too "just in case"...
11:43 nwc10 brrt: NQP tests all pass. Starting on Rakudo
11:43 brrt \o/
11:43 jnthn Cool
11:43 jnthn brrt++
11:43 nwc10 jnthn: oh, nice. And they didn't think that they could meet all their requirements by having the name of the logging class(es) in a config file (or one place) and, if the future needed it, faking up the bits of the API that they actually used?
11:45 brrt OT: how nice is it that the EU is paying farmers 125 million to destroy vegetable crops?
11:45 brrt (euros, that is)
11:45 timotimo do we have a plan yet for how to allow jitting of extops? would we have one jit function per extop or one per extop library?
11:45 brrt because vegetables are /soooooo/ cheap
11:45 jnthn nwc10: Apparently not. Nor that, given they're in C#, things are static enough you can find all use cases anyway...
11:46 brrt jnthn++ fixed extop jitting
11:46 jnthn s/use cases/usages/
11:46 brrt as long as they all take register arguments
11:46 jnthn All the Rakudo ones do.
11:46 brrt well, that's solved then
11:47 brrt is there any other user of moarvm? :-P
11:47 timotimo wait ... do we jit extops already?
11:47 jnthn brrt: I'm guessing this is due to the reduction in demand due to counter-sanctions?
11:47 jnthn timotimo: yes
11:47 brrt yeah
11:47 timotimo how did i miss that?!
11:47 nwc10 oh. They could make vodka from it
11:47 brrt they could make $anything from it
11:47 timotimo they could catapult it to africa or south america
11:47 nwc10 pigs! Lots more lovely bacon
11:47 brrt frankly i'd say that vegetables are expensive enough as it is
11:48 brrt i can't concur with the bacon argument due to environmental conscience :-)
11:48 nwc10 yes, I was thinking as I typed that, that it would need a bunch of other resources
11:48 brrt basically, if we all just didn't eat meat, we'd have 50% less environmental problems, just like that
11:48 nwc10 vodka probably does too, but hopefully not as much
11:48 brrt no
11:49 jnthn I'd much rather they were sold at a subsidy rather than destroyed. On the other hand, EU invervention to support farmers is better than a bunch of bankrupt farmers and the social consequences that go with it.
11:49 brrt (i say this as a meat-eater)
11:49 brrt well, yeah, i'd rather have that too
11:50 timotimo oh, did we get closer to figuring out what caused the p6bool + decont thing? where the decont should have been eaten?
11:50 brrt or make soup out of it
11:53 brrt also off-topic: my experiences with clang on linux aren't nearly as nice as those with gcc
11:53 brrt i.e. missing symbols even without optimization
11:53 brrt much slower compilation
11:57 jnthn brrt: Hm, according to the BBC article I'm reading on it, "The funding is compensation for fresh produce which will not be sold. Instead it will be distributed free to schools, hospitals and other institutions."
11:57 brrt hmm
11:58 brrt that's better than the earlier plans, in which it would be destroyed
11:58 brrt yes, dutch media actually discussed destroying food so as to not let market prices drop
12:03 * brrt is now looking at jnthn++'s reactive programming talk
12:04 nwc10 brrt: PASS (t/spec/S32-io/IO-Socket-Async.rakudo.moar failed)
12:04 timotimo nice!
12:04 brrt yay, merge time methinks
12:05 dalek MoarVM: c86ee62 | (Bart Wiegmans)++ | src/ (51 files):
12:05 dalek MoarVM: Refactor get_storage_spec
12:05 dalek MoarVM:
12:05 dalek MoarVM: Return pointer rather than struct, which is very difficult to
12:05 dalek MoarVM: JIT correctly due to ABI differences between windows an posix.
12:05 dalek MoarVM:
12:05 dalek MoarVM: Doesn't work entirely because somehow we end up with a zeroed-
12:05 dalek MoarVM: out storage spec for p6num. Will continue investigation tomorrow.
12:05 dalek MoarVM: review: https://github.com/MoarVM/MoarVM/commit/c86ee626c6
12:05 dalek MoarVM: c3670a2 | (Bart Wiegmans)++ | src/6model/reprs/P6 (3 files):
12:05 dalek MoarVM: Create storagespecs as needed for P6num and P6int
12:05 dalek MoarVM: review: https://github.com/MoarVM/MoarVM/commit/c3670a28fd
12:05 dalek MoarVM: a77b86a | (Bart Wiegmans)++ | src/jit/graph.c:
12:05 dalek MoarVM: Re-enable objprimspec
12:05 brrt dalek died?
12:06 timotimo yeah, excess flood ;)
12:06 brrt :-)
12:06 brrt who did that :-o
12:07 * jnthn hopes the continual rain here doesn't cause excess flood...
12:07 timotimo aye
12:08 brrt sofia, for one, should be warm still
12:10 jnthn Aye. It's warm enough that I'm glad my hotel has air con :)
12:19 lizmat forecast for Fri/Sun: 27C and rain
12:23 nwc10 brrt: master PASS (t/spec/S32-io/IO-Socket-Async.rakudo.moar failed)
12:24 brrt yay
12:31 jnap joined #moarvm
12:38 * brrt bbiab
12:54 klaas-janstol joined #moarvm
12:56 jnap joined #moarvm
13:10 nwc10 I guess I'm seeing the progress of the JIT as the "Stage parse" times on an ASAN build drop
13:11 nwc10 because that means progressively more code that gets run is JIT generated, without all the ASAN overhead :-)
13:12 ggoebel11111111 joined #moarvm
13:13 timotimo oh, is that actually how asan works? o_O
13:14 jnthn So JITted code is unsanitry? :)
13:23 dalek MoarVM: 12a0a5b | jnthn++ | src/gc/worklist.h:
13:23 dalek MoarVM: Add a GC debugging aid.
13:23 dalek MoarVM:
13:23 dalek MoarVM: Allows extra checks to be turned on that trap some bogus additions to
13:23 dalek MoarVM: the GC worklist. Got tired of re-doing this each time I debugged GC
13:23 dalek MoarVM: issues, so now it can be turned on with a #define.
13:23 dalek MoarVM: review: https://github.com/MoarVM/MoarVM/commit/12a0a5ba88
13:23 jnthn And the Panda explosion is in MVMCompUnit, adding an SC...
13:30 brrt joined #moarvm
13:37 jnthn Gah. Turns out that duplicate entries in the gen2 -> nursery set is not actually OK...
13:37 jnthn In the addition needs guarding
13:42 nwc10 jnthn: PASS at 12a0a5ba88af27164184f53376a823a3651a1122 (other than t/spec/S32-io/IO-Socket-Async.rakudo.moar)
13:48 dalek MoarVM: 31723cd | jnthn++ | src/ (2 files):
13:48 dalek MoarVM: Avoid duplicate additions to inter-gen set.
13:48 dalek MoarVM:
13:48 dalek MoarVM: This was wrongly handled in one place, and handled with duplicate code
13:48 dalek MoarVM: in two others.
13:48 dalek MoarVM: review: https://github.com/MoarVM/MoarVM/commit/31723cd3f5
13:51 jnthn grr
14:00 brrt still broken?
14:00 jnthn No, what I'm moaning about on #perl6
14:01 jnthn Panda works now
14:01 jnthn And I wanted to install NativeCall
14:01 jnthn FROGGS: ^^ probably deal with v5 too
14:03 klaas-janstol joined #moarvm
14:04 FROGGS ohh, nice :o)
14:04 FROGGS jnthn++ # makes the world a little bit better while others are stuck in $dayjob
14:04 FROGGS (btw, I hate ssl/tls and certs)
14:05 jnthn Enjoy it; I'll be stuck in a $dayjob gig in September...
14:06 pmichaud_ joined #moarvm
14:17 FROGGS :/
14:19 avuserow joined #moarvm
14:21 FROGGS[mobile] joined #moarvm
14:22 brrt does anybody here think arriving at the airport 15 minutes before the plane will fly is a good idea?
14:22 brrt it /ought/ to be doable
14:22 jnthn Uh, unless your airport is really tiny that sounds like a bad idea...
14:23 jnthn Most of the time they want you to be boarding 15-20 mins before the flight...
14:23 brrt yeah, i think so too
14:23 brrt problem is i can't get there earlier from my home
14:25 jnthn Which airport, ooc?
14:25 brrt eindhoven
14:26 jnthn How far are you from it?
14:26 jnthn I'm guessing your flight is at some terribly early hour?
14:26 brrt 3 hours of train travel
14:26 brrt yes
14:27 tadzik it's a pretty bad idea :/
14:27 tadzik especially if you consider things like "train may be late"
14:27 brrt uhm yeah
14:28 klaas-janstol joined #moarvm
14:29 jnthn Well, seems its second largest airport in NL too, so it ain't going to be small :)
14:34 jnthn Can somebody try this:
14:34 jnthn perl6-m -Ilib -MNativeCall -e "say +OpaquePointer.new(8791697968848)"
14:35 tadzik 8791697968848
14:35 jnthn m: my int $x = 8791697968848; say $x
14:35 camelia rakudo-moar ddfb57: OUTPUT«8791697968848␤»
14:35 jnthn Windows, y u print 4194881232...
14:36 klaas-janstol joined #moarvm
14:38 klaas-janstol brrt: you need to calculate about 1 hour to get from the train station to the airport.
14:40 brrt integer overflow jnthn?
14:40 brrt yeah, i imagined as much
14:40 * brrt bbiab
14:40 jnthn Overflow, yes...just...where...
14:41 FROGGS jnthn: I'm already sorry :o(
14:42 FROGGS have no time to help right now though
14:42 jnthn Oh noes...
14:42 jnthn get_int in P6bigint uses:
14:42 jnthn unsigned long mp_get_long(mp_int * a);
14:42 jnthn Guess how long a long is in MSVC? :/
14:49 dalek MoarVM: 97c8e02 | jnthn++ | src/6model/reprs/P6bigint.c:
14:49 dalek MoarVM: Fix P6bigint.get_int portability bug.
14:49 dalek MoarVM:
14:49 dalek MoarVM: This also unbusts the NativeCall pointers test on Win32.
14:49 dalek MoarVM: review: https://github.com/MoarVM/MoarVM/commit/97c8e02dae
14:49 lizmat testing++  :-)
15:15 brrt joined #moarvm
15:24 brrt btw, why is long 32 bits in msvc?
15:27 moritz because the specs only say it must be >= int
15:28 TimToady and all the world is a Vax
15:29 TimToady but hey, can't complain, Perl was written on a Vax
15:32 brrt really? :-o
15:36 jnthn The only Vax of my childhood really sucked...
15:37 brrt i had a commodore 64 that was old by the time i got it
15:38 brrt but it was awesome
15:38 brrt the BASIC that came with it was not so much awesome
15:38 jnthn (For those who don't have the UK household association with Vax: http://www.vax.co.uk/vacuum-cleaners :-))
15:38 brrt and i really wish someone had handed me an assembler back then, because the things that BASIC did for you on a C64 are truly minmal
15:39 brrt (lol)
15:39 jnthn My first dialect of basic was the BBC Micro one
15:40 brrt that was a 6502 machine, right/
15:40 TimToady BASIC/PLUS, but that was on a PDP-11, not a Vax
15:41 jnthn Yes
15:41 TimToady I wrote a disassembler in BASIC and disassembled the RSTS/E operating system
15:42 brrt it's funny how the UK had it's own computer universe in the 80s
15:42 TimToady also wrote a BASIC decompiler call BACBAS, since the extension of the compiled form was .BAC
15:42 brrt and that tought you anything?
15:43 TimToady it taught me that once information is thrown away, it's hard to get it back again :)
15:43 TimToady it also taught me that the PDP-11 instruction set was extremely well thought out
15:45 brrt unfortunately, not for being a mass market success
15:47 TimToady well, but it did dominate the market it was in
15:48 brrt true
15:48 TimToady we don't use SAP in every household either :)
15:48 TimToady or Oracle, shudder
15:49 TimToady well, except for Java
15:49 TimToady but that's really still Sun
16:01 jnap joined #moarvm
16:12 brrt also true
16:51 TimToady Sending vegetables to schools to be eaten is just another way of destroying them; in fact, it's inevitable that vegetables will be destroyed eventually... :)
16:55 TimToady we once got bumped from a British Air flight for arriving only 57 minutes before the flight; one hour was the limit...
16:56 tadzik wow
16:56 TimToady darn, we had to spend an extra day in a lovely b-and-b...
16:57 TimToady well, we were flying into Heathrow and out of Gatwick, and we allowed time for 3 things to go wrong.  Unfortunately, 4 things went wrong.
16:58 TimToady enormous ticket line for bus, traffic jam, dropped at wrong terminal, insane checkin policy
16:59 TimToady any one of those things could have given us back the three minutes
17:09 klaas-janstol joined #moarvm
17:20 timotimo brrt: i'd like to build a perf map file for the mvm jit; do you have a suggestion how to best generate the names for the symbols? for now, i just copy-pasted the code that is responsible for the debug output that encodes the spesh graph's name to an ascii string from there to the piece of the jit that actually knows the starting address and size of the generated machine code
17:20 * brrt thinks
17:20 timotimo also, it seems like the jit would always encode the name of the function and the cuid even if logging is turned off; maybe that's something worth putting into a branch?
17:21 brrt i don't know how expensive that really is
17:21 brrt but yeah,we could put that in a branch
17:21 timotimo oh, and what was a much bigger problem: how do i best handle 1) the pid of the process (i guess getpid is sufficiently cheap?) and 2) only generate the map if we're on linux and maybe only if some env var is set?
17:22 brrt getenv() will do? :-)
17:22 brrt also, you can add it as a variable to the threadcontext
17:22 brrt or the instance, rather
17:22 timotimo do i have to handle any kind of multitreading serialization?
17:42 nwc10 jnthn: PASS (other than just t/spec/S32-io/IO-Socket-Async.rakudo.moar)
17:45 brrt timotimo: no, why?
17:46 brrt anyway, i suppose the difficult bit is mapping bytecode addresses to the bits of the jit graph
17:46 brrt because i wouldn't know how to get the offsets of these bits without adding a dynamic label for every node
18:08 klaas-janstol joined #moarvm
18:23 brrt http://brrt-to-the-future.blogspot.nl/2014/08/some-lessons.html blog :-)
18:23 * brrt is going afk for most of tonight
18:24 brrt left #moarvm
18:27 Ven joined #moarvm
18:28 lizmat brrt++ for blogpost
18:31 [Coke] m: say so ?NaN
18:31 camelia rakudo-moar ddfb57: OUTPUT«True␤»
18:34 dalek joined #moarvm
18:35 dalek joined #moarvm
18:42 timotimo oh, i was looking into something as you were writing that post? i must have seemed more dedicated than i actually was %)
19:06 jimmy_ joined #moarvm
19:06 jimmy_ brrt: s/interator-specific/iterator-specific/ ?
19:11 timotimo .o( i don't yet know what brrt was refering to there, but i suppose we'll have some more fun with spesh )
19:18 timotimo brrt, i think you misunderstood what exactly goes into the perf map; we'd only put the start address and length of a complete jitted frame in there with the name of the function that was jitted (if we have it)
19:18 timotimo we don't need to annotate all the generated instructions in there
19:45 dalek MoarVM: 49cecc3 | (Timo Paulssen)++ | src/main.c:
19:45 dalek MoarVM: moar --version will point out if jit got disabled via Env Vars.
19:45 dalek MoarVM: review: https://github.com/MoarVM/MoarVM/commit/49cecc32b9
19:45 timotimo should moar --version say "without jit support" if it was compiled without jit support?
19:53 Ven joined #moarvm
19:56 colomon_ joined #moarvm
19:57 retupmoc1 joined #moarvm
19:57 ingy1 joined #moarvm
19:57 daxim_ joined #moarvm
19:57 avuserow_ joined #moarvm
20:23 TimToady don't think it needs to get that fancy, unless we port to a lot of architectures that can't support JIT
20:24 TimToady but then it should say "no JIT support yet on this arch" or some such
20:42 Ven joined #moarvm
21:05 colomon joined #moarvm
21:35 Ven joined #moarvm
21:49 Ven joined #moarvm
21:53 avuserow_ joined #moarvm
22:12 lue joined #moarvm
22:40 colomon joined #moarvm

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