02:38:05  * alejandromgchanged nick to alejandro|away
02:48:33  * alejandro|awaychanged nick to alejandromg
03:57:44  * alejandromgquit (Quit: leaving)
07:18:56  * bnoordhuisjoined
07:23:47  * mmalecki[zzz]changed nick to mmalecki
08:11:35  * bnoordhuisquit (Ping timeout: 265 seconds)
09:14:47  * dvvjoined
12:05:26  * mralephjoined
13:37:55  <indutny>mraleph: hey man
13:38:08  <mraleph>hej
13:38:10  <indutny>mraleph: auto-joined? ;)
13:38:24  <indutny>mraleph: does this looks better to you: https://gist.github.com/7385517ab2738cb13fb8 ?
13:39:37  <mraleph>yep. I still don't understand why you have store local though.
13:40:06  <indutny>mraleph: well, because each HIR instruction has LIR analogue
13:40:28  <indutny>mraleph: actually, LIR is almost the same as HIR, but with registers allocated
13:40:32  <mraleph>that does not explain anything :-)
13:40:47  <indutny>it's translated into `mov result, inputs[0]`
13:41:04  <indutny>hm...
13:41:07  <indutny>that can be done in movement
13:41:25  <indutny>but I've StoreContext
13:41:32  <mraleph>exactly. you just let regiter allocator to spill locals or keep them in the register as you wish
13:41:40  <mraleph>as he wishes
13:41:43  <indutny>haha
13:41:53  <mraleph>yep, StoreContext makes sense
13:41:53  <indutny>allocator rules in theese lands
13:42:08  <indutny>well, I just like that things works the same way
13:42:24  <indutny>and looks like I've found a bug that led to infinite looping in nested while script
13:42:38  <indutny>I'm not setting any initial values to both locals/contexts
13:42:42  <indutny>*variables
13:43:01  <indutny>so phis are created only where conflicts between two definitions are detected
13:43:29  <indutny>though there may be more than just this
14:03:04  * tilgovijoined
14:39:05  <indutny>omg, davelang : http://davelang.github.com/
14:39:13  <indutny>another one simplified ES
14:39:31  <indutny>developers tend to reinvent each others ideas
14:39:36  <indutny>(so am I, of course)
14:46:08  <indutny>mraleph: yt?
14:50:11  <mraleph>yeo
14:50:17  <mraleph>indutny: yep
14:50:26  <indutny>mraleph: https://gist.github.com/cf7cc8c01e4834848b7c
14:50:31  <indutny>mraleph: does it seems correct to you?
14:53:44  <indutny>oooh
14:53:46  <indutny>value#17
14:53:58  <indutny>ah, no
14:54:00  <indutny>it's fine
14:54:32  <indutny>ah wait
14:54:33  <indutny>haha
14:54:57  <indutny>mraleph: two phis are quite interesting: @[3,16]:18 and @[14,18]:16
14:55:11  <indutny>that's fun
14:55:40  <indutny>but it doesn't answer why that thing spins infinitely
14:56:31  <mraleph>honestly your IR is harder to read than chinese book.
14:56:44  <mraleph>given that I don't know chinese
14:57:33  <indutny>what's wrong with new IR debug printing?
14:58:02  <indutny>mraleph: ^
14:58:30  <mraleph>just remove all unnecessary details that complicate reading it.
14:58:34  <mraleph><...>
14:58:52  <indutny>that's liveness ranges
14:58:57  <indutny>but I can remove them for you :)
14:59:29  <mraleph>for example:
14:59:31  <mraleph>29: *[7 <29,33>[imm 0x14]] = [LoadRoot]
14:59:35  <mraleph>what is this?
14:59:45  <mraleph>assignment of the root into the constant?
14:59:48  <mraleph>or what?
14:59:53  <indutny>well, that's just occasion
15:00:04  <indutny>basically all constant values are placed in root
15:00:15  <indutny>while unboxed numbers are only virtually placed here
15:00:28  <indutny>(btw, updated gist)
15:01:25  <indutny>LoadRoot can load strings and heap numbers
15:01:28  <indutny>and booleans
15:01:37  <mraleph>I have a very interesting question for you
15:02:15  <mraleph>53: *[13 <47,59>[st:-1]] = [BinOp *[16 <35,61>[st:1]] *[12 <51,53>[imm 0x2]]]
15:02:30  <mraleph>you use a mixture of allocated slots and ssa-variables
15:02:35  <mraleph>16 is a phi
15:02:51  <mraleph>where do you have this phi resolved?
15:03:25  <mraleph>I mean this IR is too complicated because it mixes together ssa and allocated slots in a strange fashion.
15:03:56  <mraleph>it knows that 16 is st:1 but where is the code that puts it into st:1?
15:03:58  <indutny>yeah, I understand your concerns
15:04:10  <indutny>please do not look at st: 1
15:04:15  <indutny>this is a part from previous code
15:04:24  <indutny>only ctx: 0, ctx: 1 and etc are really useful
15:04:50  <indutny>slot numbering was performed on previous phase, right after parsing
15:04:54  <mraleph>well this is a very important concern, can you also show assembly?
15:05:01  <indutny>yeah, I can
15:05:04  <indutny>one sec
15:06:42  <indutny>mraleph: done https://gist.github.com/cf7cc8c01e4834848b7c
15:07:00  <indutny>there're a lot of spilling
15:07:01  <indutny>:(
15:13:24  <mraleph>so if you look at the beginning of the inner loop
15:13:40  <mraleph>0x000000010012faa3: mov %rax,-0x30(%rbp)
15:13:40  <mraleph>0x000000010012faaa: mov %r10,%rax
15:13:50  <mraleph>so r10 is expected to contain j
15:14:10  * bradleymeckjoined
15:15:27  <indutny>yeah, looks like so
15:15:37  <indutny>and r10 contains some junk
15:15:37  <mraleph>but I don't see how it will get there
15:16:10  <indutny>well, you'll be surprised
15:16:15  <indutny>but it contains correct value :)
15:16:18  <indutny>just tested it with gdb
15:16:25  <mraleph>ah I see how it gets there
15:16:30  <indutny>(I am surpised)
15:16:32  <mraleph>very complicated path
15:16:45  <indutny>hahah
15:16:48  <indutny>yes, a lot of spilling
15:16:52  <indutny>I'll prune it later
15:17:07  <indutny>I don't need to restore all that values
15:17:14  <indutny>if I won't use them later
15:17:24  <mraleph>does it also contain correct values after several loop iterations?
15:18:15  <indutny>yes
15:18:20  <indutny>it loops from 0x20 to 0x2
15:18:42  <mraleph>then we need to check outer loop :-)
15:18:47  <indutny>yeah
15:18:48  <indutny>:D
15:18:54  <indutny>f9c3
15:19:00  <indutny>btw, thank you for looking into that
15:19:21  <indutny>rcx = 0x20, 0x18, -2
15:19:25  <indutny>baam!
15:19:53  <mraleph>rcx is expected to contain i
15:19:56  <mraleph>yeah
15:21:25  <indutny>looks like j overwrites it
15:21:43  <mraleph>yep
15:22:29  <mraleph>anyways. в здоровом теле - здоровый дух.
15:22:31  <indutny>crap :)
15:22:33  <indutny>хахахаха
15:22:36  <mraleph>better IR - better code
15:22:37  <indutny>yeah
15:22:51  <mraleph>better IR printing -> also better code :-)
15:23:00  <indutny>but I'll probably start with removing excessive unspilling
15:23:16  <indutny>it'll simplify debugging a lot
15:23:45  <indutny>mraleph: thank you
15:28:35  <indutny>mraleph: btw, ain't you going to visit Russia in near future?
15:28:40  <indutny>in April :)
15:29:03  <indutny>I owe you a bear, definitely
15:29:52  * alejandromgjoined
15:32:10  <mmalecki>I can get mraleph a beer from you!
15:32:33  <mmalecki>wait, May goes after April, right?
15:32:40  <indutny>mmalecki: how much does beer cost in your land?
15:32:54  <mmalecki>indutny: it's going to be in Oslo :)
15:33:07  <indutny>mmalecki: well, at least approximate price :)
15:33:12  <indutny>mmalecki: 5-10 $ ?
15:33:38  <mmalecki>indutny: whaaaat? $ 1 - 2
15:33:43  <indutny>hahahaha
15:33:50  <mmalecki>we're not in USA dawg :)
15:33:51  <indutny>you're drinking wrong beer then
15:33:59  <indutny>I drink 5 $ beer in Russia
15:34:15  <mmalecki>I mean, is it russian beer?
15:34:26  <mmalecki>I'm talking about polish beers, brewed in Poland
15:34:29  <indutny>mmalecki: NO
15:34:36  <indutny>mmalecki: you've good beer
15:35:02  <mmalecki>indutny: yeah, and these good polish beers cost $ 2 at max
15:35:13  <mmalecki>indutny: unless you drink them in some expensive clubs
15:35:16  <indutny>czesh beer is better, imho
15:35:26  <mmalecki>when they suddenly start costing 4x that much
15:35:41  <indutny>mmalecki: http://www.franciscanwellbrewery.com/
15:36:17  <indutny>mmalecki: just good Ireland beer
15:38:38  <mmalecki>indutny: nice, I never drank any of these
15:38:48  <indutny>mmalecki: you should definitely try
15:41:36  <mraleph>indutny: I had too much travel already this month :-0
15:41:44  <indutny>mraleph: haha
15:41:45  <indutny>indeed
15:42:17  <mraleph>$2 in Oslo is dirty cheap water
15:42:32  <mraleph>I would say more like $7 and up.
15:42:33  <mmalecki>well, same stuff in London and Beziers
15:42:45  <mmalecki>Poland is a cheap country to live in :)
15:43:07  <mraleph>it's just that Norway is pretty expensive if you compare with other Europe.
15:43:57  <mraleph>and actually I don't like beer :-)
15:44:10  <mraleph>only VOOOOOODKA
15:44:20  <mmalecki>mraleph: yeah, I heard stories :D
15:44:38  <mmalecki>like drinking vodka from a piston
15:44:55  <mmalecki>well, anyway, looking forward to meeting you on webrebels
15:45:15  <indutny>:D
15:46:12  <mraleph>I never drunk vodka from piston :-)
15:46:39  <mraleph>crazy Dutch people did though
15:49:04  <mraleph>I am also looking to Web Rebels.
15:49:25  <indutny>Dutch
15:49:41  <mmalecki>mraleph: Dutch and Polish, that's why I know the story :)
15:49:54  <mraleph>moar sleepless nights preparing preparing talk.
15:50:28  <mraleph>I see. As I said I was not there :-) I had a headache from my sleepless night so I just ate BBQ and went home.
15:50:34  <mraleph>or to the hotel
15:51:46  <mmalecki>mraleph: nice, good to know
15:52:39  <mraleph>I don't think I had so much headache that participated in drinking from the piston without knowing that :-0
15:52:55  <mmalecki>lol
17:31:21  * alejandromgquit (Quit: leaving)
17:31:55  * alejandromgjoined
18:44:22  * tilgoviquit (Ping timeout: 246 seconds)
18:50:40  * bradleymeck_joined
18:53:12  * bradleymeck__joined
18:54:19  * bradleymeckquit (Ping timeout: 245 seconds)
18:54:20  * bradleymeck__changed nick to bradleymeck
18:55:09  * bradleymeck_quit (Ping timeout: 245 seconds)
18:59:07  * alejandromgquit (Quit: leaving)
19:05:34  * tilgovijoined
19:58:39  * hij1nxjoined
20:02:47  * dvvquit (Ping timeout: 244 seconds)
20:24:29  * hij1nxquit (Quit: hij1nx)
20:27:47  * hij1nxjoined
20:59:19  * tilgoviquit (Remote host closed the connection)
21:06:57  * hij1nxquit (Quit: hij1nx)
21:08:51  * bnoordhuisjoined
23:31:33  * mralephquit (Quit: Leaving.)