| MasterDuke | dogbert17: do you get a segv in t/spec/S17-supply/supplier-preserving.t if you run it with valgrind? | 00:27 | |
| oh, not segv, `Process terminating with default action of signal 6 (SIGABRT): dumping core` | 00:28 | ||
| Zoffix | $ perl6 -e 'run(:out, "bash").out.t.say' | 00:33 | |
| Segmentation fault | |||
| :) | |||
| MasterDuke | nice, and it got it in valgrind. want me to create a moarvm issue? | 00:38 | |
| *i got | |||
| Zoffix | Go for it. | 00:43 | |
| MasterDuke++ | |||
| MasterDuke | github.com/MoarVM/MoarVM/issues/561 | 00:44 | |
| .ask dogbert17 do you get a SIGABRT in t/spec/S17-supply/supplier-preserving.t if you run it with valgrind? | 01:28 | ||
| yoleaux2 | MasterDuke: I'll pass your message to dogbert17. | ||
|
01:35
bloatable6 joined
|
|||
| samcv | hello all | 01:53 | |
| yoleaux2 | 00:05Z <AlexDaniel> samcv: if I'm getting āshould eventually be unreachableā thingy in my code, what does it mean? | ||
| samcv | AlexDaniel, it means you need to update | ||
| unless you are already updated. in which case. please let me know. but it shouldn't happen anymore | 01:54 | ||
| AlexDaniel | This is Rakudo version 2017.03-28-ga01d6794d built on MoarVM version 2017.03-22-ga00278e6 | ||
| samcv | also it means "something in MVM tried to get a property value for a codepoint less than 0" | ||
| but whoever wrote the error wrote some generic thing | |||
| AlexDaniel | samcv: is that updated enough? ā | 01:55 | |
| samcv | it should be. uhm | ||
| AlexDaniel | yea, that's what I thought too | ||
| samcv | hold on AlexDaniel | ||
| AlexDaniel, run this, and tell me if it passes or not gist.github.com/samcv/0df9fcc0c119...fbee6f24d7 | 01:56 | ||
| AlexDaniel | samcv: it does | 01:57 | |
| samcv | if that passes and you still get that error. show me the code that makes it happen, would be great | ||
| AlexDaniel | samcv: mmmhmm it's this: github.com/perl6/whateverable/blob...#L127-L131 | 01:58 | |
| I wonder if just adding XĶ«ā to file you gave me is going to make it fail | |||
| samcv | so if i dl it and run the test then it will show that error? | ||
| great :) | |||
| adding what? | |||
| AlexDaniel | ⦠no, that's not going to run that simply | 01:59 | |
| samcv | oh | ||
| can you golf it into something i can test myself? | |||
| or is that infeasable | 02:00 | ||
| AlexDaniel | well, it's something about XĶ«ā | ||
| I can do that | |||
| samcv | yay | ||
| also AlexDaniel are you on windows | 02:01 | ||
| AlexDaniel | no, that test fails on the server (linux) | ||
| samcv | kk | ||
| ok so no \r\n line endings, probably | |||
| AlexDaniel | oooh⦠| 02:04 | |
| GOT IT | 02:07 | ||
| ha | |||
| m: say āXĶ«āā ~~ /:i x / | |||
| camelia | should eventually be unreachable in block <unit> at <tmp> line 1 |
||
| AlexDaniel | samcv: for a little moment it felt hopeless⦠but there you go! | 02:08 | |
| m: say āXĶ«ā ~~ /:i x / | |||
| camelia | should eventually be unreachable in block <unit> at <tmp> line 1 |
||
| samcv | woo | ||
| AlexDaniel | m: say āXĶ«ā ~~ /:i X / | ||
| camelia | should eventually be unreachable in block <unit> at <tmp> line 1 |
||
| samcv | crazy | ||
| AlexDaniel | something about :i | ||
| samcv | bisectable6, say āXĶ«āā ~~ /:i x / | ||
| bisectable6 | samcv, Bisecting by exit code (old=2015.12 new=a01d679). Old exit code: 0 | ||
| samcv, bisect log: gist.github.com/4f31e1270108a6049b...b4a0ab00e9 | 02:09 | ||
| samcv, (2017-03-10) github.com/rakudo/rakudo/commit/22...9854e33739 | |||
| samcv | ah ok | ||
| AlexDaniel | ācase insensitive string compare fixā :) | ||
| samcv | well it did fix a way worse bug | ||
| which could affect every character | |||
| not matching if there were things that got longer on casefolding it'd be off | |||
| AlexDaniel | well, I'm happy that I have a bunch of whateverable tests :) | 02:10 | |
| samcv | hmm i wonder if anything changes length on lowercasing | ||
| and nobody ever noticed that bug so far, cause it's always been there | |||
| AlexDaniel | what do you mean? | ||
| samcv | unicodable6, { my $char = .chr; $char.lc.chars != $char.chars } | 02:11 | |
| AlexDaniel | commit: 22f00cd7^ say āXĶ«āā ~~ /:i x / | ||
| committable6 | AlexDaniel, ¦22f00cd7^: «Nil» | ||
| samcv | like that | ||
| unicodable6 | samcv, Found nothing! | ||
| AlexDaniel | commit: 22f00cd7^ say āXĶ«āā ~~ /:i X / | ||
| committable6 | AlexDaniel, ¦22f00cd7^: «Nil» | ||
| AlexDaniel | hm | ||
| samcv | unicodable6, { my $char = .chr; $char.fc.chars != $char.chars } | ||
| unicodable6 | samcv, U+00DF LATIN SMALL LETTER SHARP S [Ll] (Ć) | ||
| samcv, U+0149 LATIN SMALL LETTER N PRECEDED BY APOSTROPHE [Ll] (Å) | |||
| AlexDaniel | commit: 22f00cd7^ say āXĶ«āā ~~ /:i āxĶ«āā / | ||
| committable6 | AlexDaniel, ¦22f00cd7^: «「XĶ«ā」» | ||
| unicodable6 | samcv, 80 characters in total: gist.github.com/77540a7d5181b62dcd...3c78deaf20 | ||
| samcv | there's things that change length on uppercasing or tc for sure at least. so i guess that's why was never visible cause nothing so far at least expands under lc. | 02:12 | |
| AlexDaniel | oh | ||
| samcv: want me to file a ticket for that? | |||
| samcv | oh no, that is fixed. | ||
| well it doesn't do that anymore | |||
| AlexDaniel | commit: 22f00cd7^,22f00cd7 say āXĶ«āā ~~ /:i x / | 02:13 | |
| committable6 | AlexDaniel, ¦22f00cd7^: «Nil» ¦22f00cd: «should eventually be unreachable⤠in block <unit> at /tmp/IJ3U5MEMuW line 1⤠«exit code = 1»» | ||
| samcv | now the problem is that we need to use the new nqp::indexic function to search instead of nqp::index | ||
| AlexDaniel | for this thingy I mean ā | ||
| samcv | oh | ||
| nah | |||
| not yet | |||
| AlexDaniel | :) | ||
|
02:14
bloatable6 joined
02:16
bloatable6 joined
|
|||
| samcv | good thing for gdb. also lol MVM_string_equal_at_ignore_case (tc=<optimized out>, | 02:19 | |
| haystack=<optimized out>, needle=<optimized out>, h_offset=<optimized out>) | |||
| well that's good | |||
| but need to remove optimize to debug this | |||
| someday in the far future everything will be optimized out. including humans maybe. you never know | 02:21 | ||
| AlexDaniel | .tell timotimo d=⦠thingy is done. See github.com/perl6/whateverable/wiki/Bloatable | ||
| yoleaux2 | AlexDaniel: I'll pass your message to timotimo. | ||
| samcv | yeah trying to get the property value of -2 | 02:22 | |
| for the case folding property. ah. ok makes way more sense | 02:23 | ||
| ok i think i've almost fixed it | 02:32 | ||
| yeah i fixed it. just gotta run spectest | |||
| good find AlexDaniel++ | 02:34 | ||
| very happy you found that | |||
|
02:48
ilbot3 joined
|
|||
| AlexDaniel | whateverable++ :) | 02:48 | |
| samcv | ok yeah it's all good i think | 03:06 | |
| passing 'MVMCodepoint **' (aka 'int **') to parameter of type | 03:11 | ||
| 'const MVMCodepoint **' (aka 'const int **') discards qualifiers in nested pointer types | |||
| [-Wincompatible-pointer-types-discards-qualifiers] | |||
| ...= MVM_unicode_get_case_change(tc, h_g, MVM_unicode_case_change_type_fold, &h_result_cps); | |||
| well it works. this error is mostly harmless but maybe it was giving that warning before | 03:12 | ||
| at least on clang | |||
| oh it's new, but because the new function i have to use for synthetics doesn't have const. so that's fine | 03:13 | ||
| copying and pasting it is messing up this thing. AlexDaniel if i send you a patch can you reinstall mvm and test? | 03:17 | ||
| AlexDaniel | m: say āXĶ«āā.ords | 03:18 | |
| camelia | (88 875 8413) | ||
| samcv | ok thanks | ||
| AlexDaniel | m: say (88.chr ~ 875.chr ~ 8413.chr) ~~ /:i x / | ||
| camelia | should eventually be unreachable in block <unit> at <tmp> line 1 |
||
| AlexDaniel | m: say (88.chr ~ 875.chr) ~~ /:i x / | 03:19 | |
| camelia | should eventually be unreachable in block <unit> at <tmp> line 1 |
||
| samcv | m: say so (88.chr ~ 875.chr ~ 8413.chr) ~~ /:i / | ||
| camelia | True | ||
| samcv | wat | ||
| is there invisible things i'm not seeing or... is thaht a bug | 03:20 | ||
| also really weird | |||
| AlexDaniel | hmmmm a null regex | ||
| no, no symbols | |||
| samcv | bisectable6, say 'blah' ~~ /:i / | 03:21 | |
| bisectable6 | samcv, On both starting points (old=2015.12 new=a01d679) the exit code is 0 and the output is identical as well | ||
| samcv, Output on both points: «「」» | |||
| samcv | well at least it's not wrong | ||
| even if it's incorrect | |||
| AlexDaniel | m: say 'blah' ~~ / / | ||
| camelia | ===SORRY!=== Error while compiling <tmp> Null regex not allowed at <tmp>:1 ------> say 'blah' ~~ / /ā<EOL> |
||
| samcv | should show a warning but still work i *think* | ||
| oh compile error | |||
| well an empty string is inside any string | 03:22 | ||
| AlexDaniel | m: say 'blah' ~~ /:r / | ||
| camelia | 「」 | ||
| samcv | so it's not really wrong | ||
| AlexDaniel | m: say 'blah' ~~ / āā / | ||
| camelia | 「」 | ||
| samcv | just not proper | ||
| well at least it's not a new bug | |||
| or maybe that's bad. but at least it means it's not my fault ;) | |||
| geekosaur | null regex rejected is avoiding another perl5 trap | ||
| samcv | yes | 03:23 | |
| ok well this works AlexDaniel. can you compile mvm if i commit and test. idk how your selver is setup | 03:24 | ||
| AlexDaniel | I'm using rakudobrew | ||
| samcv | but it totally works and passes all spectests | ||
| k | |||
| Geth | MoarVM: 498a21d8f3 | (Samantha McVey)++ | src/strings/ops.c Fix case insensitive string compare bug when synthetics in haystack If we have a synthetic in the haystack, we have to do more work and use the MVM_nfg_get_case_change function which will properly work with synthetics. This fixes a bug that would cause error "should eventually be unreachable" on doing case insensitive regex or other case insensitive ops. |
03:28 | |
| AlexDaniel | bisect: old=XĶ«ā say 42 | 03:36 | |
| ah⦠| |||
| right⦠| 03:37 | ||
| I always forget that this happens | |||
| samcv | what happens? | 03:53 | |
| oh. it messed it all up | |||
| AlexDaniel | samcv: all unicodable tests are OK | ||
| that's all I can say :) | |||
| samcv | yey | ||
| would you be able to add some tests to roast for me | 03:54 | ||
| or should i do it. idk maybe you have a good assortion of random unicode junk to use | |||
| AlexDaniel | samcv: I'm trying to go to bed for the last 2 hours⦠:) | ||
| so would be nice if you did it | |||
| samcv | ok :) | ||
| i can do it later then | 03:55 | ||
| AlexDaniel | and no, I don't have unicode junk :( | ||
| samcv | i will have to aquire some random unicode text | ||
| AlexDaniel | but now I wonder⦠there are some crazy unicode files on the internet built exactly for this purpose | ||
| samcv | idk i need some like text files that are all in different languages | ||
| tbh | |||
| but project gutenburg is only in english and other noncrazy languages | |||
| yeah there are AlexDaniel. | 03:56 | ||
| they are hard to copy and paste though :P | |||
| more just complicated real world things. i have sources of weird unicode that is horrible and looks crazy. but want things in multitude of scripts and such | 03:57 | ||
| maybe use wikipedia and copy some common pages that have articles in all languages ever | |||
| AlexDaniel | or maybe some random testing can help? | 03:58 | |
| samcv | well yeah. but i need a bunch of sources first | ||
| so ideally i'll get text files of every script and can run the same tests on each one | 03:59 | ||
| similar to gist.github.com/samcv/0df9fcc0c119...fbee6f24d7 | |||
| but also for things like regex and other things | |||
| AlexDaniel | oh right | ||
| samcv | also i think most of those hangul are already in NFC form | ||
| so ideally would want to make it in NFC/NFD inconsistently and there's many things | 04:00 | ||
| bbs | |||
|
04:05
unicodable6 joined,
bisectable6 joined,
benchable6 joined,
committable6 joined,
evalable6 joined,
bloatable6 joined,
statisfiable6 joined
|
|||
| Geth | MoarVM: a8448142d8 | (Samantha McVey)++ | 2 files Improve description for "should eventually be unreachable" error Change the error to: Error, MoarVM cannot get Unicode codepoint property for synthetic codepoint %i |
04:44 | |
| samcv | very good. no more "should eventually be unreachable" errors. and if it does happen it'll at least tell the user wtf happened | ||
| jnthn, we're getting compile errer msdn.microsoft.com/en-us/library/1kay26wa.aspx C2036 | 05:48 | ||
| on appveyor builds ci.appveyor.com/project/moritz/rak...crvin#L387 | |||
|
06:38
brrt joined
07:10
domidumont joined
07:17
domidumont joined
07:41
brrt joined
09:02
zakharyas joined
09:09
Ven joined
09:15
brrt joined
|
|||
| brrt | good * #moarvm | 09:15 | |
| timotimo | hey brrt | 09:17 | |
| yoleaux2 | 02:21Z <AlexDaniel> timotimo: d=⦠thingy is done. See github.com/perl6/whateverable/wiki/Bloatable | ||
| timotimo | so what do i do to check out exprjit stuff with c calls? :3 | 09:18 | |
| brrt | you check out even-moar-jit, compile and run the following gist | 09:20 | |
| samcv | hey brrt | 09:21 | |
| brrt | gist.github.com/bdw/bcbe317c1f4753...ac8e56b68f | ||
| hey samcv, timotimo | |||
| that will compile a call to 'say' | |||
| it won't use the value, though | 09:22 | ||
| there's a bunch of things i haven't done to get to 'production quality' | |||
| but, it will compile, spill, order arguments, invoke and reload | 09:23 | ||
| and i think that's pretty neat, tbh | |||
| timotimo | "use the value"? | ||
| brrt | i can't guarantee any of the topological sort stuff works well either, because, well, it hasn't been used yet | ||
| return value of any C function, i mean | |||
| timotimo | ah, ok | ||
| that shouldn't be terribly bad? | 09:24 | ||
| brrt | to do? no, but, %rax is now my spare register, so i need to insert a move to an allocated register | ||
| that wants some additional logic | |||
| timotimo | do we still have an env var to turn exprjit on? | 09:27 | |
| brrt | no, it's on by default | ||
| you have to turn it off | |||
| timotimo | when it encounters stuff that requires c call return values, will it just refuse to jit that part, or will it get a bogus result? | 09:28 | |
| hm | 09:29 | ||
| but if i can compile that gist, that means it gets through the compiler | |||
| brrt | there are no templates defined that have c call return values, yet | 09:39 | |
| i need to update the plan.org file to take that into account | |||
| timotimo | cool | 09:40 | |
| "Can't locate Test.pm in @INC" - wow, wat? | |||
| src/jit/linear_scan.c:379:9: error: ISO C90 forbids mixed declarations and code [-Werror=declaration-after-statement] | |||
| you have been naughty! :D | |||
| brrt | wait, what | 09:41 | |
| haha | |||
| you're on fedora I presume | |||
| timotimo | i get the missing Test.pm from the tiler generator | ||
| brrt | fedora is sometimes a huge pain with Test.pm | 09:42 | |
| timotimo | is fedora known for shipping a perl that has absolutely nothing? | ||
| brrt | yes | ||
| timotimo | wtf :) | ||
| brrt | i have the same problem | ||
| but i'm using perlbrew so i'm not feeling it so badly | |||
| anyway.. i'll fix it | 09:43 | ||
| timotimo | i'll install perl-Test now | 09:44 | |
| jesus christ | |||
| a whole lot of "use of uninitialized value" from the tiler table generator | 09:45 | ||
| brrt | so that shouldn't happen | ||
| can you send me a log? | |||
| timotimo | gist.github.com/timo/1c6380cff07f1...be8f20b81f | ||
| can't wait 'til the package delivery comes here, it'll have my new mouse, which will mean i can make selections first try again | 09:47 | ||
| this is a perl 5.24.1, that's not old, right? | 09:48 | ||
| brrt | no⦠not at all | 09:56 | |
| timotimo | do you have an "open" somewhere that doesn't have an "or die"? | ||
| and you're getting undefined results from slurping stuff up? | |||
| like, any untracked files on your checkout? | |||
| dogbert17_ | .tell MasterDuke I'm not getting any SIGABORTS in t/spec/S17-supply/supplier-preserving.t. You haven't forgotten to turn off --full-cleanup by any chance? | 10:01 | |
| yoleaux2 | dogbert17_: I'll pass your message to MasterDuke. | ||
| dogbert17_ | .tell jnthn the intermittent test failure in t/spec/S17-supply/supplier-preserving.t can be removed by placing a short 'sleep' before the closing of the channel. Dunno if that's the right way to fix it though. | 10:03 | |
| yoleaux2 | dogbert17_: I'll pass your message to jnthn. | ||
| brrt | no, there's something wrong with a template | ||
| dogbert17_ | .tell jnthn the bug found yesterday, invalid reads, was promptly fixed by timotimo++. I believe it only affected 32 bit systems. | 10:04 | |
| yoleaux2 | dogbert17_: I'll pass your message to jnthn. | ||
| brrt | timotimo: thanks for that, somehow i missed it | 10:16 | |
| what's the scary bit is that that didn't cause a parsing error | |||
| btw, you did do a full make reconfig, right | 10:17 | ||
| otherwise you're going to have the broken dynasm :-) | |||
| Geth | MoarVM/even-moar-jit: db1daa9116 | (Bart Wiegmans)++ | 4 files Fix build warnings and errors, timotimo++ perl5 Test is not available (and it is Test::More that we need, anyway; and *only* if testing). Fix a typo in the tile list, which should have been a parse error, not sure why it wasn't. Use FindBin to get the right libs. |
10:20 | |
| brrt | timotimo: pls try again | 10:21 | |
| jnthn | Bah, MSVC is picky | 10:28 | |
| yoleaux2 | 10:03Z <dogbert17_> jnthn: the intermittent test failure in t/spec/S17-supply/supplier-preserving.t can be removed by placing a short 'sleep' before the closing of the channel. Dunno if that's the right way to fix it though. | ||
| 10:04Z <dogbert17_> jnthn: the bug found yesterday, invalid reads, was promptly fixed by timotimo++. I believe it only affected 32 bit systems. | |||
| timotimo | brrt: k | 10:32 | |
| brrt: was just changing some hardware stuff around in my desktop, so was afk | 10:33 | ||
| brrt | no worries | ||
| timotimo | oh, huh. i was convinced i had ordered this stuff to be delivered to my home, but it seems i ordered it to a pick-up station instead | 10:34 | |
| no more warnings | 10:35 | ||
| and also no compiler error | |||
| oh? | 10:37 | ||
| general_purpose_register_specnot yet implemented | |||
| is that expected? | |||
| Build tree out of: [const_i64_16, const_i64_16, add_i, const_s, say, add_i, ] | 10:39 | ||
| <3 | |||
| but after that it only outputs "starting compilation", "emit throwish control guard" and that's the end of the jitlog | |||
| so maybe it didn't end up compiling that after all? | 10:40 | ||
| dogbert17_ | jnthn: if you've had your morning coffee there's a gist that might possibly be of interest: gist.github.com/dogbert17/ea5855ab...86c2f24f62 | 10:46 | |
| timotimo | that's the one where gumbo frees something but the author of the gumbo library didn't consider that? | ||
| hm. maybe not. | 10:47 | ||
| dogbert17_ | timotimo: could be just noticed in the RT that jnthn was interested in the gdb output | 10:48 | |
| timotimo | ah, ok | ||
| dogbert17_ | timotimo: thx for helping out with the small bigints yesterday | 10:50 | |
| timotimo | sure, easy as pie :) | ||
| dogbert17_ | :) | ||
| timotimo | (yes, easy as a position-independent executable) | 10:51 | |
|
11:05
domidumont joined
11:42
Ven joined
|
|||
| brrt | no, not expected | 11:49 | |
| where do you see that? | |||
| oh, i know⦠| |||
| i know, maybe | 11:50 | ||
| i hadn't tested the bit where i had a register spec implemented | |||
| timotimo | oh? | 12:21 | |
| so a few commits back it would have worked? | |||
| yay, i have a mouse again | 12:24 | ||
| a working mouse, that is | |||
| Zoffix | Can anyone tell me what this code does? github.com/MoarVM/MoarVM/blob/mast...#L352-L373 | 12:28 | |
| timotimo | github.com/MoarVM/MoarVM/blob/mast...#L304-L398 | 12:33 | |
| that's what it does ^ | |||
| Zoffix | Thanks. | 12:34 | |
| brrt | timotimo: i'm checking it now :-) | ||
| timotimo | cool | ||
| brrt | oh, yeah, that's a twofold problem | 12:47 | |
| a): tiling doesn't distinguish properly between void and nonvoid calls | |||
| (the resolution for that is to split these) | |||
| b): the %rax register is not a nonvolatitle register and therefore not special-cased | 12:48 | ||
| thus we can't compile it | |||
|
14:00
Ven joined
14:29
zakharyas joined
14:37
AlexDaniel joined
15:13
Ven joined
15:44
brrt joined
18:31
domidumont joined
19:36
AlexDaniel joined
|
|||
| lizmat | .tell jnthn re gist.github.com/jnthn/6a80a9712fb3...0e46fca6d7 , it occurred to me by adding a maximum size option to ConcBlockingQueue (so it will block when trying to push when it's full) would also automatically give Channels backpressure | 20:16 | |
| yoleaux2 | lizmat: I'll pass your message to jnthn. | ||
| lizmat left a comment at gist.github.com/jnthn/6a80a9712fb3...0e46fca6d7 | 20:47 | ||
| jnthn | There's already a bounded conc queue in the ecosystem, but yeah, we could introduce a bound there too | 21:40 | |
| yoleaux2 | 16:32Z <Zoffix> jnthn: SmokeMachine's CLA has been received by TPF, and per [Coke] ( irclog.perlgeek.de/perl6-dev/2017-...i_14318800 ) a commit bit can be given. The github username's "FCO" github.com/FCO | ||
| 20:16Z <lizmat> jnthn: re gist.github.com/jnthn/6a80a9712fb3...0e46fca6d7 , it occurred to me by adding a maximum size option to ConcBlockingQueue (so it will block when trying to push when it's full) would also automatically give Channels backpressure | |||
| samcv | good * | ||
| Zoffix | \o | 21:41 | |
| jnthn | That would make sense for ==> and friends, which we're defining (I think :)) in terms of a set of blocking producer/consumer | ||
| But not so much for .hyper/.race where there's no point having blocked threads (aside from the one working sequentially) around, when we can instead just not schedule stuff to be done until we're ready | |||
| lizmat: ^^ | |||
| o/ samcv | |||
| samcv | good morning | ||
| samcv yawns | 21:42 | ||
| lizmat | jnthn: I guess my point was that nqp::push on a ConcBlockingQueue should to the scheduling bits | ||
| so it wouldn't block the thread, just like sleep doesn't anymore in 6.d | |||
| jnthn | Ah | 21:43 | |
| No, I don't think that's a good way to do it | |||
| sleep *does* block the thread in 6.d | 21:44 | ||
| It's await that is non-blocking | |||
| (await Promise.in(5) or so) | |||
| lizmat | well, we could have sleep do: $*THREAD > 1 ?? await !! nqp::sleep :-) | 21:45 | |
| jnthn | Grr, the naming of those Internal classes is using Hyper to mean "this whole framework of things" in a bunch of places | 21:47 | |
| That are applicable to hyper and race | |||
| lizmat | yeah, stuff is hard :-) | 21:48 | |
| jnthn | Aye | 21:49 | |
| Details aside, does the general idea of desugaring to a fork/join graph make sense to you? | |||
| So far as I can see, it's a general enough model for all the things we'd need | 21:50 | ||
| MasterDuke | jnthn: any further thoughts/comments on github.com/MoarVM/MoarVM/pull/557 (native overflow detection)? | 21:52 | |
| yoleaux2 | 10:01Z <dogbert17_> MasterDuke: I'm not getting any SIGABORTS in t/spec/S17-supply/supplier-preserving.t. You haven't forgotten to turn off --full-cleanup by any chance? | ||
| lizmat | jnthn: yeah it does | ||
| for a moment I thought the HyperBatcher would need rotor semantics | |||
| but that should probably be done serially before HyperBatching | 21:53 | ||
| jnthn | Yeah, I'd kinda concluded that all but the simplest cases of rotor would need to do that | ||
| That's probably fine, since a rotor feels like someting you're more likely to do at the start or end of an operation, not in the middle, most of the time | 21:54 | ||
| At the end of the day, part of effective use of .hyper and .race will be understanding that you need to write pipelines that cooperate with them :) | 21:55 | ||
| lizmat | indeed | 21:58 | |
| and wrt to unique passing the seen hashes, just passing the necessary meta information as the first element in the HyperWorkBatch would work fine more generally as well I would think | |||
| jnthn | I'd prefer to pass it out-of-band in the .extra slot | 21:59 | |
| Just feels a bit cleaner | 22:00 | ||
| We'll need to be really careful on thread safely of that thing | |||
| lizmat | well, the processor is done with the seen hash at that point, so there would be no harm having another thread having a go at it, would it ? | 22:01 | |
| as long as it is a single one ? | |||
| jnthn | Yeah, going from the many-batches one to to the joined one is pretty safe | 22:02 | |
| MasterDuke: Left comments | 22:05 | ||
| MasterDuke | cool, thanks | ||
| jnthn | If you'd rather to the split as a follow-up PR I can go with that | 22:06 | |
| It feels like the right thing to do. | |||
| (splitting them, that is...I've a slight preference for doing it as part of this PR) | 22:07 | ||
| MasterDuke | i replied, i think the split requires a lot of other work done also, it's not just changing the calls to mp_get_int64 in P6bigint.c | 22:10 | |
| the attempt to split them in fact it what led me down the path of trying to add *_u ops | 22:11 | ||
| jnthn | I just meant splitting that one function, rather than passing is_signed and doing conditionals | 22:17 | |
| MasterDuke | yeah, that's what i tried | 22:18 | |
| jnthn | Sure, but everything that's calling it now is either passing 1 or 0 for is_signed? | ||
| I'm not saying all the callers have to call the one they ultimately should | 22:19 | ||
| MasterDuke | let me try splitting it again, it's a quick change, maybe i got mixed up while also doing that other PR | 22:20 | |
| jnthn | MasterDuke++ | 22:23 | |
| MasterDuke | arg (and yay)!! that worked | 22:33 | |
| jnthn | One less arg ;) | 22:37 | |
| lizmat | good night, #moarvm! | 22:39 | |
| jnthn | 'night, lizmat | ||
| MasterDuke | hm, is my PR going to get messed up because i just rebased to master? | 22:48 | |
| jnthn: PR updated | 22:55 | ||
| jnthn | Looks good | 23:03 | |
| MasterDuke | great | 23:06 | |
| m: my uint64 $a = 2**63; say $a | |||
| camelia | -9223372036854775808 | ||
| MasterDuke | in a related branch i have that ^^^ working, but it broke some other stuff | 23:07 | |
| heh, travis is so much faster when it's only doing moar and nqp | 23:11 | ||
| Geth | MoarVM/master: 4 commits pushed by (Daniel Green)++, (Jonathan Worthington)++ | 23:14 | |
|
23:16
vendethiel joined
|
|||