github.com/moarvm/moarvm | IRC logs at colabti.org/irclogger/irclogger_logs/moarvm Set by AlexDaniel on 12 June 2018. |
|||
00:00
p6bannerbot sets mode: +v avar
|
|||
timotimo | .tell brrt and 1e0/$x.Num makes it go from ~8.25s to ~6.6s | 00:01 | |
yoleaux | timotimo: I'll pass your message to brrt. | ||
timotimo | .tell brrt have you considered removing the hundreds of blank spaces at the end of lines from the .nqp version for much faster compilation? :D :D | 00:08 | |
yoleaux | timotimo: I'll pass your message to brrt. | ||
timotimo | AlexDaniel: do we write a changelog based on changes since 2018.06 or the theoretical release date of 2018.07? | 00:12 | |
AlexDaniel | since 2018.06 | 00:13 | |
timotimo | jeez, i've done barely anything in moar's code in that time | 00:16 | |
also: moar's code, haha, say that out loud | |||
-- --- .- .-. ...- -- | |||
lizmat | beep beep beep beeeeep bbeeeeep beeeeep beep beep beep | 00:17 | |
sleep& | |||
00:30
Guest16880 joined
00:31
Guest16880 left
00:50
theShirbiny joined
00:51
p6bannerbot sets mode: +v theShirbiny,
theShirbiny left
01:00
GTAXL13 joined
01:01
p6bannerbot sets mode: +v GTAXL13
01:08
GTAXL13 left
01:28
avar left
01:45
avar joined,
avar left,
avar joined,
p6bannerbot sets mode: +v avar
01:46
p6bannerbot sets mode: +v avar
01:49
Alistair19 joined
01:50
Alistair19 left
02:00
arooni25 joined,
p6bannerbot sets mode: +v arooni25
02:01
arooni25 left
|
|||
timotimo | this is not going to matter in the slightest, but: | 02:20 | |
QASTNode's "name" method (from QAST::Op) somehow manages to use getspeshslot on the same spesh slot for both the argument's value and the one it compares with, i.e. NO_VALUE, but it has a PHI in between that somehow eats its Known Value, and so even though the value parameter wasn't passed, the code to set the name is still in the result | 02:22 | ||
that PHI is actually in the middle of the block | 02:24 | ||
02:27
foddo12 joined
02:28
p6bannerbot sets mode: +v foddo12
02:33
foddo12 left
|
|||
timotimo | perhaps for tomorrow: bool_I exprjit template that handles the smallbigint case in-line, and perhaps a lego jit version, too | 02:42 | |
mhh, get_bigint_body goes through get_boxed_ref, that's not quite so awesome for performance, so that could really be worth something | 02:43 | ||
will need an sp_bool_I for ensuring the type is known | |||
hm, the exprjit is kicked out by an sp_guardconc right in front of the bool_I; looking at Rakudo/Iterator:2330, "push-all" | 02:44 | ||
03:01
rkta joined
03:02
p6bannerbot sets mode: +v rkta,
rkta left
04:44
HollyW00d11 joined
04:45
p6bannerbot sets mode: +v HollyW00d11
04:49
HollyW00d11 left
05:37
AlexDani` joined,
p6bannerbot sets mode: +v AlexDani`
05:41
AlexDaniel left
05:44
AlexDani` is now known as AlexDaniel,
AlexDaniel left,
AlexDaniel joined,
verne.freenode.net sets mode: +v AlexDaniel,
p6bannerbot sets mode: +v AlexDaniel
05:58
TheoM joined
05:59
TheoM left
06:03
A5A joined
06:04
p6bannerbot sets mode: +v A5A
06:06
A5A left
06:08
Waldo29 joined,
p6bannerbot sets mode: +v Waldo29
06:12
Waldo29 left
06:26
domidumont joined
06:27
p6bannerbot sets mode: +v domidumont
06:30
domidumont left
06:31
domidumont joined,
p6bannerbot sets mode: +v domidumont
06:56
wizonesolutions5 joined
06:57
p6bannerbot sets mode: +v wizonesolutions5
06:58
BenLand100 joined
06:59
BenLand100 left,
wizonesolutions5 left
07:10
Waldo14 joined
07:11
brrt joined,
p6bannerbot sets mode: +v Waldo14,
p6bannerbot sets mode: +v brrt
07:14
Waldo14 left
|
|||
brrt | timotimo: it is, but note that the 'version that runs on both perls' is exactly how a naive perl programmer would write it | 07:45 | |
yoleaux | 18 Aug 2018 23:59Z <timotimo> brrt: adding up consecutive reciprocals, isn't that a very, very bad case for rationals? making $x num doesn't help because it'll still first do rational for 1/$x and then turn it into Num; using $x += 1/$_.Num is loads faster | ||
00:01Z <timotimo> brrt: and 1e0/$x.Num makes it go from ~8.25s to ~6.6s | |||
00:08Z <timotimo> brrt: have you considered removing the hundreds of blank spaces at the end of lines from the .nqp version for much faster compilation? :D :D | |||
nwc10 | good *, brrt | 07:46 | |
brrt | ohai nwc10 | ||
how was TPC | |||
nwc10 | It was In Glasgow :-) | 07:47 | |
Good | |||
Nearly every talk I went to was good. (Which was better (for me) than previous years | 07:48 | ||
Watch the video of the interview with Gloria (once its up) if you didn't see it live - I liked that "keynote" best | |||
brrt | I'll do that | ||
holy **** | 07:49 | ||
gist.github.com/bdw/42819001c1a083...procal-nqp - if I change the $i from int to num | |||
my runtime goes down to 0.289s | 07:50 | ||
if i do the same in C, runtime drops to 0.219s | |||
nwc10 | "WTF?" | ||
Hope the video for this talk is up soon: act.perlconference.org/tpc-2018-gla.../talk/7428 | |||
brrt | m: say 0.289/0.219 | ||
camelia | 1.319635 | ||
brrt | 30% within C. WTF | ||
nwc10 | (No bot to say "Building Privacy In" by "John Lightsey (āJ.D.)") | 07:51 | |
brrt | not yet, but if it needs to do anything fast, build it in NQP | 07:52 | |
nwc10 | venue was great (apart from having flat seating, just like last year) - food at venue was better than some places in the evening, staff also as good or better than good restaurant staff | ||
brrt | (btw, 2.48s for same, without JIT) | 07:53 | |
nwc10 | next year is Riga (like 2011) | ||
brrt | I heard. I forgot which of the baltic countries that is | ||
nwc10 | Latvia | 07:54 | |
at the moment I think that your "reciprocal.pl6" is no different from "reciprocal.pl" - did you forget to put an ` int` back in the line with the `my` ? | 07:56 | ||
07:59
jfmcarreira7 joined
08:00
jfmcarreira7 left
|
|||
brrt | let me check for a second | 08:08 | |
yeah, that's not right | 08:12 | ||
i miscopy-pasted | 08:13 | ||
but, adding 'my num $x' slows it from 31s to 45s | 08:14 | ||
so | |||
08:18
domidumont left,
aykut4 joined,
aykut4 left
|
|||
brrt | anyway, looking at the assembly, i'm guessing that this benchmark spends most of it's time in 'div' | 08:23 | |
08:43
lizmat left
|
|||
mst | brrt: "warning: benchmark may be a junior web developer" | 08:52 | |
09:00
brrt left,
brrt joined
09:01
p6bannerbot sets mode: +v brrt
|
|||
samcv | good * | 09:07 | |
hey mst, brrt | |||
09:21
abrotman14 joined
09:22
p6bannerbot sets mode: +v abrotman14
|
|||
brrt | ohai samcv | 09:25 | |
mst: i'm not sure I follow :-) | 09:26 | ||
mst | spends most of its time in <div> | ||
09:26
abrotman14 left
09:27
Guest11555 joined
09:28
p6bannerbot sets mode: +v Guest11555
|
|||
brrt | haha | 09:29 | |
nwc10 | :-) | ||
I completely missed that connection. | |||
brrt | yeah, me too | 09:30 | |
stmuk | I still have that awful black drink from riga 2011 :) | 09:32 | |
nwc10 | I think that the sysadmins have a bottle in their office as a result of a PgConf | ||
09:33
Guest11555 left
09:35
noah21 joined
09:36
p6bannerbot sets mode: +v noah21
|
|||
nwc10 | yoleaux: .tell jnthn MVM_SPESH_NODELAY=1 breaks Rakudo setting -- paste.scsys.co.uk/581482 -- problem probably about a week old | 09:42 | |
Stage parse : Error while compiling, type X::Bind::NativeType | |||
name: $!name | |||
at line 19587, near " name),\n " | |||
09:43
noah21 left
10:11
irv joined,
p6bannerbot sets mode: +v irv
10:13
irv left,
brrt left
10:15
lizmat joined,
Edane14 joined,
p6bannerbot sets mode: +v lizmat,
p6bannerbot sets mode: +v Edane14
10:17
Edane14 left
10:18
Guest88573 joined
10:19
p6bannerbot sets mode: +v Guest88573
10:21
Guest88573 left
10:28
surfist9 joined
10:29
surfist9 left
10:38
domidumont joined,
p6bannerbot sets mode: +v domidumont
10:41
brrt joined
10:42
p6bannerbot sets mode: +v brrt
10:46
ZzZombo joined,
p6bannerbot sets mode: +v ZzZombo
|
|||
timotimo | nwc10: is that with postrelease-opts or master moarvm? | 11:26 | |
11:36
brrt left
11:38
ZzZombo left
11:42
ms78217 joined
11:43
p6bannerbot sets mode: +v ms78217
|
|||
jnthn is curious about exactly what timotimo asked, though either way I ain't planning on touching master this side of the release. :) | 11:43 | ||
11:45
ms78217 left
|
|||
timotimo | i'm confused by that line. did you mean "why" rather than "what"? | 11:48 | |
jnthn | timotimo: No, I meant what. As in, "I have exactly the same question" :) | 11:49 | |
timotimo | oooh | ||
i think my brain may have flipped "exactly what" and "what exactly" around | 11:50 | ||
jnthn | Yes, an sp_bool_I would be good, btw | ||
11:53
domidumont left
|
|||
timotimo | huh, is there a good reason why bytecode positions in the "latest statistics" view aren't sorted? | 12:01 | |
i kind of assumed we stored them sorted for better lookup in the stats storage and such, but perhaps that's just not how it's implemented | 12:05 | ||
nwc10 | master | ||
12:07
poutine14 joined
12:08
p6bannerbot sets mode: +v poutine14
12:09
poutine14 left
|
|||
timotimo | so, i have this SDL2 example "particles". it has an update sub that loops through the indices for positions (in a native num array with x and y values stored pairwise) and lifetimes (a native num array with just one entry per particle) and either moves them along their trajectory or, if their lifetime has reached 0, respawns them at the origin with random trajectory and lifetime | 12:12 | |
it suffers noticably from spesh logging ending too soon, where in the regular mode it barely has any of the invocations logged at all (many postcircumfix:<[ ]> invocations) | 12:13 | ||
i suppose in the future we'll want to keep some logging instructions in the speshed frames and re-spesh when new information becomes available | 12:14 | ||
jnthn | Does it trigger deopt? | 12:15 | |
Or just hit a certain specialization, or? | |||
timotimo | it just makes a single specialization, which is a certain specialization - the update sub doesn't have any arguments :)- | 12:16 | |
jnthn | I started writing up the "make `$_` not be dynamic" thing, but as I was explaining why PEA can't help much I realized that maybe it could | ||
timotimo | oh, it does have a single argument, but actually the interesting part being speshed is the inner loop | ||
github.com/timo/SDL2_raw-p6/blob/m...les.p6#L43 | 12:17 | ||
it's not exactly the same code locally, i think, but it's very close | |||
removing the "if (rand < df) {" condition makes it better because then it'll not skip as many runs at the start of the program | |||
also, why did i put so many parenthesis for ifs there? :D | 12:18 | ||
jnthn | In that if we were to allocate registers for each lexical, and just flush it at the point that it escapes, then if it never escapes we'd be good | ||
timotimo | sounds good at first glance | 12:19 | |
jnthn | That still only handles the cases where we fully inline or at least where we only rarely taken a code path that isn't inlined, though | ||
*take | |||
timotimo | that also deals nicely with situations like "infix:</> can invoke the division by zero error, but in regular code it barely ever will" | ||
jnthn | The moment we actually make an invocation which makes a new callframe, we have to consider it as escaping | 12:20 | |
timotimo | right | ||
jnthn | Whereas were it not dynamic it'd be subject to local analysis and the static optimizer could do the usual lexical -> local lowering trick | ||
timotimo | *nod* | 12:21 | |
i'll spend a bit of time on the sofa with the cat :3 | 12:22 | ||
12:51
pskosinski11 joined,
p6bannerbot sets mode: +v pskosinski11
12:53
pskosinski11 left,
reportable6 left
12:54
reportable6 joined,
p6bannerbot sets mode: +v reportable6
12:55
EvanR1 joined
12:56
p6bannerbot sets mode: +v EvanR1
|
|||
nwc10 | jnthn: master (the setting failure) | 12:57 | |
12:58
EvanR1 left
13:05
ensyde joined
13:06
p6bannerbot sets mode: +v ensyde
|
|||
jnthn | github.com/perl6/6.d-prep/issues/10 # from last night's discussion | 13:07 | |
13:07
ensyde left
|
|||
jnthn | nwc10: OK, will look when I get chance (though it'll probably be quite a bug hunt :/) | 13:15 | |
13:25
Humbedooh7 joined
13:26
p6bannerbot sets mode: +v Humbedooh7
13:28
kspencer15 joined
13:29
p6bannerbot sets mode: +v kspencer15
13:30
Humbedooh7 left
13:31
nitrix22 joined
13:32
p6bannerbot sets mode: +v nitrix22,
kspencer15 left
13:35
nitrix22 left
13:41
domidumont joined,
p6bannerbot sets mode: +v domidumont
13:55
domidumont left
14:14
dalek left
14:15
zakharyas joined
14:16
p6bannerbot sets mode: +v zakharyas
14:26
Geth left
|
|||
timotimo | rakudo compilation dies even earlier for me, though | 15:04 | |
with NODELAY | |||
/home/timo/perl6/install/bin/nqp-m --module-path=blib --target=mbc --output=blib/Perl6/Metamodel.moarvm --encoding=utf8 \ | |||
gen/moar/Metamodel.nqp | |||
Incompatible MROs in P6opaque rebless for types QAST::Var and QAST::IVal+{QAST::SpecialArg} | |||
jnthn | timotimo: Does it happen on postrelease-opts too? | 15:09 | |
There's one fix in there that's not in master | 15:10 | ||
timotimo | ah, let's see | 15:12 | |
15:12
lizmat left
|
|||
timotimo | yes, exact same message | 15:13 | |
jnthn | Ah well, at least things didn't get worse :) | 15:15 | |
timotimo | it's the colon pairs, man. i tell ya! | 15:19 | |
(because it crashes in the colonpair method in NQP.nqp | 15:20 | ||
15:21
lizmat joined
15:22
p6bannerbot sets mode: +v lizmat
|
|||
jnthn | .oO( pain in the colon... ) |
15:23 | |
15:31
Techman3 joined
15:32
p6bannerbot sets mode: +v Techman3
15:34
Techman3 left
|
|||
timotimo | huh | 15:40 | |
it got past that error | |||
wow, a segfault even | 15:41 | ||
i don't think i'm in the mindspace to get anything done with this | 15:52 | ||
15:55
fake_space_whale joined
|
|||
timotimo | hm. perhaps i just forgot the Configure.pl step, but my moar --version didn't correspond to the postrelease-opts branch. perhaps i gave incorrect information | 15:55 | |
15:56
p6bannerbot sets mode: +v fake_space_whale
|
|||
timotimo | OK, i get an error during stage parse, but not a segfault | 15:57 | |
Stage parse : Error while compiling, type X::Attribute::Undeclared package-name: <anon|25> package-kind: class what: attribute symbol: $!iter at line 6867, near ",\n " | 15:58 | ||
Error while compiling, type X::Bind::NativeType name: $!name at line 19586, near " name),\n " | 15:59 | ||
16:01
brrt joined
16:02
p6bannerbot sets mode: +v brrt
|
|||
timotimo | now stage parse segfaults without NODELAY o_O | 16:04 | |
er | |||
stage optimize | |||
actually, i'll try rebooting my machine | 16:05 | ||
it's not feeling very good at the moment | |||
16:07
brrt left
16:09
Zx329 joined
16:10
p6bannerbot sets mode: +v Zx329
|
|||
timotimo | i mean, most likely it's just google-chrome was hogging all resources because of some misbehaving site or plugin or whatever | 16:11 | |
but updates have been piling up anyway, so a reboot would be fine anyway | |||
16:11
Zx329 left
16:12
ecx86 joined,
p6bannerbot sets mode: +v ecx86
16:13
Thanks joined
16:14
p6bannerbot sets mode: +v Thanks,
Thanks left
16:18
lizmat left
16:19
ecx86 left
16:24
jpf1 left,
nine left,
Util left
16:25
nine_ joined,
Util joined,
masak joined,
japhb_ joined,
jpf1 joined,
masak is now known as Guest85961,
p6bannerbot sets mode: +v nine_,
p6bannerbot sets mode: +v Util,
p6bannerbot sets mode: +v Guest85961,
p6bannerbot sets mode: +v japhb_
16:26
p6bannerbot sets mode: +v jpf1,
benchable6 left
16:27
committable6 left,
greppable6 left
16:28
shareable6 left,
statisfiable6 left,
bisectable6 left,
nativecallable6 left
|
|||
timotimo | it still segfaults in stage optimize, weird. | 16:29 | |
16:52
elenah22 joined
16:53
p6bannerbot sets mode: +v elenah22
16:54
elenah22 left
|
|||
MasterDuke | timotimo: i started adding support for subtraction and multiplication to github.com/rakudo/rakudo/pull/2228, but it got a bit more complicated | 17:03 | |
and then i realized that multiplication doesn't even work like addition and subtraction do, after trying mod, because i thought that might be useful | 17:04 | ||
m: .say for (^4) + 2 | |||
camelia | 2 3 4 5 |
||
MasterDuke | m: .say for (^4) - 2 | 17:05 | |
camelia | -2 -1 0 1 |
||
MasterDuke | m: .say for (^4) * 2 | ||
camelia | 0 1 2 3 4 5 6 7 |
||
17:05
krushia joined
17:06
p6bannerbot sets mode: +v krushia
|
|||
MasterDuke | changing topics, MVM_SPESH_NODELAY=1 doesn't cause any problems during the rakudo compile for me | 17:07 | |
17:13
krushia left
17:14
committable6 joined
17:15
p6bannerbot sets mode: +v committable6
17:25
nativecallable6 joined,
bisectable6 joined,
p6bannerbot sets mode: +v nativecallable6,
p6bannerbot sets mode: +v bisectable6
17:38
zakharyas left
|
|||
timotimo | m: .say for (2..4) * 2 | 17:48 | |
camelia | 4 5 6 7 8 |
||
timotimo | MasterDuke: i'm not actually sure where the arithmetic is even implemented in your pull request | ||
MasterDuke | timotimo: i re-use get_bound | 17:50 | |
`timotimo: huh, that looks like an inconsistency (re `.say for (2..4) * 2` vs `.say for (^4) * 2`) | 17:51 | ||
timotimo | why? | ||
that's just ((2*2)..(4*2)) | |||
just like ^5 + 1 is (0+1)..(4+1) | 17:52 | ||
MasterDuke | yeah, but it doesn't do that for (^4) | ||
timotimo | m: .say for (^4) * 2 | ||
camelia | 0 1 2 3 4 5 6 7 |
||
timotimo | that's (0*2)..^(4*2) | ||
or do you think it should interpret the ^ before doing the calculation? | 17:53 | ||
MasterDuke | no, i guess i was thinking of it wrong | ||
think it makes sense to add the other math operations? i was able to do addition by re-using get_bound as-is, but the others will require modifying it and optimize_for_range a bit | 17:58 | ||
timotimo | addition and subtraction are likely the most widely used | 17:59 | |
MasterDuke | heh, you can do subtraction with my branch, as long as you express it as addition | 18:02 | |
e.g., `.say for (^4) + -2` does get the optimization | 18:03 | ||
timotimo | heh. | 18:05 | |
MasterDuke | oh...wait... | 18:06 | |
uh, now i get `===SORRY!=== Unknown QAST node type NQPMu` | 18:07 | ||
i hate that error, so unhelpful | 18:08 | ||
timotimo | it'd be cool to have kind of a trace to the node itself, like perhaps by having an exception handler on every level that prints out the current node's information and rethrows to the next levell | 18:16 | |
18:21
Guest85961 is now known as masak
18:23
greppable6 joined,
greppable6 left
18:24
greppable6 joined
18:25
brrt joined,
p6bannerbot sets mode: +v greppable6
18:26
p6bannerbot sets mode: +v brrt
18:27
benchable6 joined
|
|||
timotimo | spesh_inline_disable was enough to get core setting to build | 18:28 | |
at least that | |||
18:28
p6bannerbot sets mode: +v benchable6
|
|||
timotimo | huh, interesting | 18:31 | |
MoarVM oops: Spesh: instruction box_i missing from define-use chain | |||
i'm not sure why the check is even turned on %) | |||
18:38
nativecallable6 left,
benchable6 left,
committable6 left,
bisectable6 left,
bloatable6 left,
reportable6 left,
squashable6 left,
greppable6 left,
coverable6 left,
unicodable6 left,
quotable6 left,
undersightable6 left,
notable6 left,
domidumont joined
18:39
p6bannerbot sets mode: +v domidumont
|
|||
brrt | \o | 18:44 | |
timotimo | the profiler no longer working is probably just because it doesn't use the usage chain API yet | 18:57 | |
19:02
domidumont left
19:07
Steinsplitter23 joined,
Steinsplitter23 left
|
|||
jnthn | aha | 19:08 | |
$ MVM_SPESH_NODELAY=1 MVM_SPESH_BLOCKING=1 ./nqp-m t/nqp/065-how.t | |||
Incompatible MROs in P6opaque rebless for types QAST::SVal and QAST::IVal+{QAST::SpecialArg} | |||
That's a rather smaller case than the setting :) | |||
timotimo | oh, nice | 19:09 | |
yeah, anything exploding in nqp code is so much better than in perl6 code | |||
19:14
brrt left
|
|||
jnthn | Initial signs are that it's *not* a deopt bug. | 19:19 | |
Dammit, 29C is *not* the temperature for this :/ | |||
jnthn goes to buy ice cream | |||
timotimo | ice cream sounds lovely | ||
19:21
Fuchs1 joined
19:22
p6bannerbot sets mode: +v Fuchs1
19:23
Fuchs1 left,
brrt joined
19:24
p6bannerbot sets mode: +v brrt
19:26
maxalt5 joined,
bloatable6 joined,
notable6 joined,
quotable6 joined,
nativecallable6 joined,
greppable6 joined,
committable6 joined,
releasable6 joined,
coverable6 joined,
shareable6 joined,
bisectable6 joined,
reportable6 joined,
benchable6 joined,
squashable6 joined,
statisfiable6 joined,
maxalt5 left,
p6bannerbot sets mode: +v bloatable6
19:27
p6bannerbot sets mode: +v notable6,
p6bannerbot left,
p6bannerbot joined
19:41
thevdude11 joined
19:42
thevdude11 left
|
|||
brrt | i don't know if this is related to anything anyone would ever see, but I do think we need to fix MVM_jitcode_copy | 19:54 | |
and.... i'm kind of hesitant to do it because of release process stuff | |||
(do it now, I mean) | |||
masak | can always do it in a branch | 19:55 | |
19:56
unicodable6 joined,
evalable6 joined,
undersightable6 joined
|
|||
jnthn | brrt: Could it have introduced SEGVs? 'cus master seems to have gained some... | 20:09 | |
brrt | it could have, because we may be trying to free() some pages allocated by mmap, or unmap memory allocated by malloc | 20:16 | |
i'm not terribly sure since it would rely on cleanup of jit compiled frames, and that is rare in practice | |||
hmm, i'll clean it up regardless | |||
jnthn | OK | 20:22 | |
brrt | not sure why our bots don't work, but here's a PR: github.com/MoarVM/MoarVM/pull/944 | 20:37 | |
20:42
brrt left
20:57
richardjohn28 joined
21:05
richardjohn28 left
21:23
avar left
21:28
avar joined,
avar left,
avar joined
21:29
lizmat joined
22:35
Kilo`byte joined
22:36
Kilo`byte left
22:55
stmuk_ joined
22:57
stmuk left
23:04
A5A joined,
A5A left
23:21
stalled5 joined
23:22
stalled5 left
23:38
Guest94534 joined
23:39
Guest94534 left
23:42
Yatekii23 joined
23:43
Yatekii23 left
|
|||
jnthn | I've figured out that NQP test fail | 23:54 | |
The immediate cause is because I broke propagation of merged log guards by dropping the flag | |||
However, the reason I did that is because it assumes that the immediate writer is the PHI where the merge happened | 23:55 | ||
This is not the case. | |||
At least, not always. | |||
So anyway, we need to fix that properly. | |||
I'm not doing that at 2am :) | |||
But at least I know what to fix now | |||
23:56
dalek joined,
p6lert_ joined,
Geth joined,
synopsebot_ joined,
SourceBaby left,
synopsebot left,
p6lert left
|
|||
jnthn | Probably we should just carry around a list of log guards in the facts that we depend on | 23:57 | |
And then just use all those log guards |