|
00:32
tokuhiro_ joined
02:33
tokuhiro_ joined
02:48
ilbot3 joined
04:33
vendethiel joined
04:35
tokuhiro_ joined
05:59
xiaomiao joined
06:36
tokuhiro_ joined
06:57
FROGGS joined
07:03
domidumont joined
07:08
domidumont joined
07:26
tokuhiro_ joined
07:28
flaviusb joined
|
|||
| nwc10 | good *, #moarvm | 08:00 | |
| diakopter | o/ nwc10 | ||
|
08:22
zakharyas joined,
domidumont joined
08:24
Ven joined
08:31
tokuhiro_ joined
08:48
Ven joined
09:32
tokuhiro_ joined
09:39
Ven joined
|
|||
| jnthn | moarning o/ | 09:46 | |
| hoelzro: By "common callsite" you probably mean "interned", and there's a flag for that. | 09:47 | ||
|
09:49
kjs_ joined
10:05
zakharyas1 joined
11:21
dalek joined
11:22
dalek joined
11:34
tokuhiro_ joined
11:45
Ven joined
12:04
kjs_ joined
12:32
Ven_ joined
12:45
kjs_ joined
13:14
brrt joined
|
|||
| brrt | good * #moarvm | 13:15 | |
| jnthn | o/ brrt | 13:27 | |
| brrt | \o jnthn | 13:32 | |
|
13:34
zakharyas joined
13:35
tokuhiro_ joined
|
|||
| hoelzro | jnthn: ah, thanks! I didn't notice that | 13:51 | |
| good moarning all! | |||
|
14:04
domidumont joined
|
|||
| brrt | good * hoelzro | 14:19 | |
|
14:37
tokuhiro_ joined
|
|||
| timotimo | diakopter: to be honest, if the spec tests all succeed, i don't think you need to hold back that one-line patch :) | 14:37 | |
|
14:49
Ven joined
|
|||
| diakopter | brrt: hi! | 15:28 | |
| timotimo: well, [as jnthn mentioned in privmsg] it's suspect that it helps, since an object should already have that set when it is assigned to an SC to be serialized | 15:29 | ||
| timotimo | oh? | ||
| diakopter | I'm still looking for the exact right place to ensure it's set correctly as intended | 15:30 | |
| brrt | hi diakopter | ||
| desginish question again | |||
| jnthn | Could it be that we don't set the fast lookup thing when deserializing? | ||
| diakopter | O_O | ||
| well I looked there, but I'll look again | |||
| I thought I fixed it, but it caused another problem [which may be indirectly related or unrelated] | 15:31 | ||
| diakopter feels determined to solve it! | |||
| timotimo | it definitely looks like a juicy target | ||
| diakopter | jnthn: but all the wastage is when getidx is called from nqp code, so it's for when objects are being serialized | 15:32 | |
| (as supported by the evidence that the improvement is almost entirely in mast/optimize phases | |||
| ) | |||
| brrt | labels are inserted, currently, during inorder traversal | 15:34 | |
| diakopter | well, I suppose it's a remote possibility it's for a very few extremely-hot items that were deserialized from the bootstrap | ||
| (which would make it an even awesomer improvement opportunity!) XD | 15:35 | ||
| brrt | when inserting them in the tile list, shall i, a): make special-purpose magic tiles, or b): insert markers for the compiler to tak eover | ||
| i kind of like the markers idea, myself... | |||
| diakopter | me2 | ||
| timotimo | also me | 15:36 | |
| seems a bit more explicit and probably not costly in terms of performance, eh? | |||
| diakopter | by beer? | 15:37 | |
| jnthn | haha | 15:39 | |
| timotimo | performance by beer? | 15:40 | |
| jnthn | .oO( Beer pressure ) |
||
| diakopter | FROGGS' quit message | ||
| lol beer pressure | |||
| 10:37 -!- FROGGS [~froggs@p54BF18C2.dip0.t-ipconnect.de] has quit [Quit: Connection reset by beer] | |||
| timotimo | ah, hehe | 15:41 | |
| diakopter | (for the online clog | ||
| timotimo | my weechat filters out joins/parts in many cases | ||
| diakopter | aha! | 15:42 | |
| jnthn: found it | 15:43 | ||
| how do I tell make spectest to use https for cloning | 15:44 | ||
| timotimo | oof | ||
| well, if you manually git clone, it should just use that; otherwise GIT_PROTOCOL in env? is that something we invented or does git itself support that? | |||
| hoelzro | I think that's something we introduced | 15:45 | |
| diakopter | the spectest checkout doesn't respect --git-protocol to Configure | 15:47 | |
| GIT_PROTOCOL doesn't work either | |||
| sigh | |||
| fixing I think | 15:48 | ||
| hoelzro | you can use git's proxy options, but that unfortunately isn't terribly simple | 15:49 | |
| timotimo | doesn't sound so good | ||
| hoelzro | you could also try Git's URL rewriting feature | ||
| something like git config url.https.insteadOf = git | 15:51 | ||
| brrt | yeah, inserting markers isn't costly, | 15:52 | |
|
16:02
kjs_ joined
|
|||
| diakopter | *grumble* *grumble* | 16:18 | |
|
16:20
vendethiel joined
|
|||
| dalek | arVM/cache_sc_idx: dab9af8 | diakopter++ | src/6model/s (2 files): write sc idx when deserializing, repossessing, and preparing to serialize |
16:34 | |
| diakopter | jnthn: take a look at that branch? | ||
| jnthn | diakopter: Will do after current thing I'm working on :) | 16:35 | |
| Or while current thing spectests... | |||
|
16:36
zakharyas joined
|
|||
| dalek | arVM/cache_sc_idx: 192a79e | nicholas++ | src/6model/serialization.c: Bump minimum serialization format version. Now that we've rebootstrapped, we no longer need the code to read older serialization versions. Again, mostly removal of if statements with ...->root.version checks, and re-indenting because of the blocks this eliminates. |
16:37 | |
| arVM/cache_sc_idx: 47ab6f3 | hoelzro++ | src/strings/utf16.c: Resize buffers as needed when taking a UTF-16 substring |
|||
| diakopter | merge.. | 16:38 | |
|
16:38
tokuhiro_ joined
|
|||
| ilmari | hoelzro++ # UTF-16 buffer resizing | 16:38 | |
| ilmari was hoping someone else would do that ;) | 16:39 | ||
| hoelzro | =) | ||
| ilmari has a nagging feeling there's some serious refactoring potential between all the MVM_string_*_encode_substr | |||
| functions | |||
| modifying them was very repetititive | 16:40 | ||
| timotimo | diakopter: i thought "hey, maybe it's a reposession problem" while AFK, but it seems like you've already considered that properly | ||
| diakopter | timotimo: \o/ | ||
| timotimo | i mean ... just looking at the commit message, not the actual diff | ||
| but it seems like you were a couple of commits behind from master? | |||
| diakopter | Stage start : 0.000 | 16:41 | |
| Stage parse : 46.536 | |||
| Stage syntaxcheck: 0.000 | |||
| Stage ast : 0.000 | |||
| Stage optimize : 6.803 | |||
| Stage mast : 12.416 | |||
| Stage mbc : 0.257 | |||
| real1m6.150s | |||
| user1m5.103s | |||
| sys0m0.928s | |||
| urp | |||
| timotimo | didn't you say you were at about 70 seconds of build time before? | 16:42 | |
| diakopter | the original best was 72 seconds | 16:44 | |
| so, 66.1 seconds is a big improvement | 16:45 | ||
| timotimo | oh! | 16:46 | |
| \o/ | |||
| diakopter | (yes, spectest clean) | ||
| don't know about rebootstrap clean though XD XD | |||
| dalek | arVM: 8380116 | jnthn++ | src/core/frame.c: Context-captured frames should remember caller. Otherwise we cannot traverse it later. |
17:19 | |
| arVM: 308b9b7 | jnthn++ | src/core/interp.c: Re-use MVM_frame_context_wrapper for nqp::ctx op. |
|||
| timotimo | 58.69user 0.39system 0:59.06elapsed 100%CPU -> 56.74user 0.38system 0:57.10elapsed 100%CPU | 17:20 | |
| turns stage mast from 12.136 to 10.518 | 17:21 | ||
| diakopter | try a few runs ;) | ||
| I get like 4-5% variation either way | 17:22 | ||
| timotimo | wow | ||
| oh, i still had your one-line patch | 17:29 | ||
| silly me | |||
| now the difference is much more pronounced! | 17:31 | ||
|
17:31
tokuhiro_ joined
|
|||
| timotimo | 1:05 is the actual before-time. | 17:32 | |
| jnthn gets on to reviewing the patch :) | 17:33 | ||
| diakopter: Patch seems good to me; will cherry-pick and test locally :) | 17:37 | ||
| make test fails :( | 17:42 | ||
| (In Rakudo | |||
| All the nativecall tests seem to segfault | |||
| diakopter | did you make clean :S | ||
| jnthn | yes. | ||
| :( | |||
| diakopter | well spectest was fine :S | ||
| jnthn | Clean nqp, make install that, clean rakudo,make install that | ||
| Does make test work out for you? | 17:43 | ||
| diakopter | yah but I haven't pulled the last two things you just did | 17:44 | |
| jnthn | Seems to be a mis-compile | 17:45 | |
| Reverting the patch and make test again didn't clear it up; removing NativeCall.pm.moarvm and rebuilding that and make test passed | 17:46 | ||
| Dinner time; bbl :) | 17:48 | ||
| nwc10 | curry? :-) | ||
| jnthn | No :) | 17:50 | |
| diakopter | maybe make clean doesn't delete NativeCall.pm.moarvm | 17:51 | |
| jnthn | That'd cause an error always | 17:53 | |
| (Wrong version) | |||
| diakopter | oh | ||
| jnthn | (As in, compiled against wrong version of setting) | 17:54 | |
| So I don't think it's that | |||
| diakopter | curious | ||
|
17:59
FROGGS joined
|
|||
| diakopter | FROGGS: lol at your quit message | 18:01 | |
| FROGGS | *g* | ||
| tadzik | kekeke | 18:08 | |
| ilmari | hoelzro++ # rakudo now passes 'make test spectest' with moarvm compiled with ASAN | 18:34 | |
|
18:36
xiaomiao joined
18:43
kjs_ joined
18:54
domidumont joined
19:21
leont joined
19:25
zakharyas joined
19:26
diakopter___ joined
19:30
diakopter___ joined
19:33
tokuhiro_ joined
19:54
diakopter___ joined
20:01
zakharyas joined
|
|||
| dalek | arVM/cache_sc_idx: 8380116 | jnthn++ | src/core/frame.c: Context-captured frames should remember caller. Otherwise we cannot traverse it later. |
20:01 | |
| arVM/cache_sc_idx: 308b9b7 | jnthn++ | src/core/interp.c: Re-use MVM_frame_context_wrapper for nqp::ctx op. |
|||
| arVM/cache_sc_idx: e325b48 | (Matthew Wilson)++ | src/core/ (2 files): Merge pull request #304 from MoarVM/master merge from master |
|||
|
20:40
diakopter___ joined
|
|||
| hoelzro | the more I use valgrind, the more I love it | 20:42 | |
|
20:42
mtj_ joined
|
|||
| arnsholt | I attribute my very good grade in a network communications course to already knowing about valgrind | 20:43 | |
| That, and the fact that my laptop at the time was a PPC Mac, which meant that any slipup with network order/host order was immediately highlighted when I tested things between my x86 desktop and PPC laptop | |||
| Callgrind is pretty awesome too | 20:44 | ||
| hoelzro | yeah, I realized I've only scratched the *grind surface | 21:10 | |
|
21:14
zakharyas joined
|
|||
| dalek | arVM: 83b3ae3 | brrt++ | src/core/frame.c: Dynvar lookup check if we're using the JIT code For some reason, we sometimes 'drop out' the jitcode, into the spesh code, and I can't really find out why. But checking if this is the case fixes the long-standing panda bug. |
21:22 | |
| jnthn | \o/ | 21:23 | |
| brrt++ | |||
| So hard bug. So small patch. | 21:24 | ||
| (A good sign. Means you probably fixed the real bug.) | |||
|
21:26
brrt joined
|
|||
| brrt | yes, finally gone :-) | 21:27 | |
| (long time bus trips are good for something, at least) | |||
| jnthn | :) | ||
| brrt | although, it is mysterious to me why we'd have a spesh cand, the spesh cand have jitcode, and the frame not being on the jitcode - but on the spesh code | 21:28 | |
| any idea on how that might happen? | 21:30 | ||
| jnthn | No...it's really odd | 21:33 | |
| brrt | doesn't seem to be related to OSR, or anything like that | 21:34 | |
| jnthn | But could be interesting to know in so far as it'd mean we're not using the JITted code when we could, and so may be losing out | ||
| brrt | hmmm | ||
| jnthn | And deopt would go to the unspesh'd done, so I can't see it being that either... | ||
| brrt | also doesn't seem to be happening during deopt, or we should find deopt crashing much more often | 21:35 | |
|
21:35
tokuhiro_ joined
|
|||
| brrt | i mean before deopt | 21:37 | |
| maybe worthwhile to check within-rangeness of jit entry label at points where we use it | 21:38 | ||
| anyway, i'll be off tonight, sleep well and all that :-) | 21:39 | ||
| jnthn | Yeah, me too soon | 21:40 | |
| Crazy early start | |||
| :( | 21:41 | ||
| brrt | sleep well :-) | 21:42 | |
| jnthn | Thanks, you too! o/ | ||
|
22:15
colomon joined
|
|||
| hoelzro | should unicode_property_values_hashes live on the interpreter object instead of static memory? valgrind gets pretty mad that we don't clean up after it =/ | 22:21 | |
|
22:22
mtj_ joined
22:36
diakopter___ joined
|
|||
| diakopter___ | yah it should be cleaned up | 22:38 | |
| hoelzro | diakopter___: do you think it should be moved under the interpreter object? otherwise cleanup could get messy in a multiple interpreter environment | 22:45 | |
| diakopter___ | hoelzro: well, the MVMInstance, since it's all unchanging data, right? | 22:53 | |
| hoelzro | ah, yes | ||
| diakopter___ | oh, you mean multi-Instance | ||
| hoelzro | yes | ||
| but one per instance (vs one per TC) should be fine, yes? | 22:54 | ||
| diakopter___ | I guess the way to do it is make a protected (atomic) refcount of such shared global things | ||
| so that the last instance alive can clean it up | |||
| (where that atomic counter is also global) | 22:57 | ||
| hoelzro | so even multiple MVMInstances should share that object? I suppose that would cut down on memory usage quite a bit | 23:00 | |
| diakopter___ | yeah, I think it's worth doing at some point. seems like a quick task | 23:02 | |
| hoelzro | maybe I'll get a round tuit tonight | 23:03 | |
| diakopter___ | obviously it would happen behind the scenes of MVMInstance creation (person writing code to link with libmoar and run multiple instances wouldn't need to worry about this) | ||
| hoelzro | right | 23:04 | |
| just a part of create/destroy | |||
| timotimo | Writing profiler output to profile-1448149404.2365.html | 23:08 | |
| ===SORRY!=== | |||
| KnowHOW methods must be called on object instance with REPR KnowHOWREPR | |||
| i wonder where this comes from :| | |||
| hoelzro | =/ | ||
|
23:16
colomon joined
23:37
tokuhiro_ joined
|
|||