Perl 6 - the future is here, just unevenly distributed

IRC log for #divine, 2015-10-08

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

All times shown according to UTC.

Time Nick Message
00:52 yaqwsx_cz joined #divine
00:52 yaqwsx joined #divine
07:15 yaqwsx joined #divine
07:15 yaqwsx_cz joined #divine
07:56 yaqwsx joined #divine
07:56 yaqwsx_cz joined #divine
13:33 yaqwsx joined #divine
13:33 yaqwsx_cz joined #divine
14:43 spito https://github.com/xmito/nscd_verification
16:09 yaqwsx joined #divine
16:09 yaqwsx_cz joined #divine
17:54 yaqwsx joined #divine
17:54 yaqwsx_cz joined #divine
18:58 xstill ty alloca musí být nějakej strašnej bug, to přece není možná aby to z 862 stavů udělalo 5875…
19:03 mornfall co říká simulate? je to sekvenční?
19:03 xstill dívám se, už začínám tušit
19:05 xstill ono to dost často vygeneruje stav v okamžiku kdy to narazí na ten začátek masky, kdy ty generuješ stav na začátku masky?
19:09 xstill jo, __divine_interrupt_mask() vždy vygeneruje stav
19:09 mornfall ne vždy, jen když předtím už nastala viditelná akce
19:10 xstill ajo
19:10 xstill a to může nastat jak, pokud se interrupty generují za viditelnou akcí?
19:10 xstill nebo ne?
19:11 mornfall tzn. pokud máš -a-> -tau-> (mask) -tau-> (unmask) tak budeš mít -a-> -tau-> místo -a->
19:11 mornfall normálně se lepí dohromady -tau->^* -a-> -tau->* do -a->
19:13 mornfall ale když tam je mask neví se jestli pod tou maskou bude nebo nebude něco vidět
19:13 mornfall takže se to musí rozdělit
19:13 mornfall ale tohle by nemělo mít na velikost prostoru žádnej vliv
19:13 xstill aha, jo já měl totiž za to, že to je -tau->* -a-> se slepí na -a-> a pak by dávalo smysl, že -tau-> -mask-> .* -unamsk-> by se mohlo slepit
19:14 mornfall jediný co se mění je kde přesně ten mezistav bude
19:14 mornfall když přijde maska, tak se to rozdělí uprostřed toho tau řetězu
19:17 xstill hm
19:17 xstill každopádně to velmi často staví na té masce v memsetu
19:18 mornfall jo to je asi možný, ale fakt by to nemělo ničemu moc vadit
19:18 mornfall teda v principu
19:31 xstill no, ne, iniciání řetězec před prvním větvením je bez té modifikace dlouý 6 stavů, potom 18
19:31 xstill hm, ale hlavně obsahuje goal stav který tam nebyl, něco bude dost špatně
19:37 xstill hm, zjeví se mi tam undefined value někde ve fs, kterej samozřejmě vůbec nepoužívám
19:41 mornfall hustý :-)
19:45 xstill uplně minimální příklad: entry.cpp:23 tam se vygeneruje nulování na r a to udělá stav navíc
19:46 xstill za předpokladu, že v mainu je alespoň int x = 0; x = 1
19:46 mornfall to je divnej předpoklad ne?
19:46 xstill jo
19:46 xstill ale int x; x = 1 nestačí na to aby tam byl stav navíc
19:47 mornfall jo ale já vim
19:47 xstill jo?
19:47 mornfall je to trochu vtipný
19:47 mornfall ale vstup do memsetu je vždy stejný pc
19:47 mornfall ať se volá odkudkoliv
19:48 xstill takže když se zavolá 2x za sebou tak to vygeneruje stav, jo?
19:48 mornfall no, jo, protože to vypadá jako cyklus
19:49 xstill aha, chápu
19:49 xstill nemilé ale
19:50 mornfall jedna možnost je to natvrdo zainlinovat
19:50 mornfall nebo nějak chytře poznat že to cyklus být nemůže
19:50 xstill tam je zas problém s tou maskou, která nespozná jestli už byla zamaskovaná
19:50 mornfall navíc
19:51 mornfall kdyby se sledovalo vždy jen pc na začátku basic bloku, mohlo by se tam ukládat aj hloubka na zásobníku
19:51 mornfall i když to taky úplně nestačí
19:52 xstill hm, zkusím popřemýšlet, zatím můžu zmusit co to udělá když pro každý flush vygeneruju jiný memset… jestli má vůbec smysl to řešit
19:52 mornfall :-)))
19:53 mornfall to je už dost hroznej hack
19:53 mornfall ale fungovat by to mělo
19:53 xstill tak je :-D, taky to nenavrhuju jako trvalý řešení
19:54 mornfall na druhý straně by se tím mohla celkově zlepšit redukce
19:57 mornfall (teda kdyby byla ta aproximace detekce cyklu lepší)
19:57 mornfall a já možná i vim jak
19:58 mornfall na každým ret-u můžu totiž klidně vylít ze 'seen' všechny pc tý který funkce
19:59 xstill jo, to by mělo fungovat :-)
20:00 xstill blbý je, že ty specielní memsety to uplně nezachránili, teda je to lepší, ale pořád hodně špatný
20:00 mornfall hm
20:00 mornfall jak vypadaj ty extra stavy teď?
20:02 xstill zjistím
20:02 xstill snad, ten příklad není zrovna malej (teda ten malej už je ok)
20:03 xstill pořád tam mám navíc ty undefined value, to nechápu kde se bere
20:04 mornfall no, musí se to zavolat
20:04 mornfall zkus to s --no-reduce
20:04 mornfall abys viděl co se všechno volá
20:09 xstill on tam běží nějaký globální konstruktor fs věcí a v něm někde pod maskou vyjede ten udefined
20:10 xstill obávám se, že to bude na dloho, takže zítra
20:10 mornfall není to nějaká chyba linkování?
20:11 xstill co?
20:11 mornfall globální konstruktor z fs-* by se asi neměl volat když se to nepoužívá
20:11 xstill ten bitkód se modifikuje až po likování
20:11 xstill jo to by asi neměl
20:11 xstill to může být chyba v linkeru
20:12 xstill ale ten kód se musí volat v obou případech bych řekl
20:12 xstill určitě, nemohl se tam objevit tím, že se to ztransformavalo nulováním alloca
20:13 xstill takže to nulování musí být nějak vadný
20:16 mornfall nj, ale já tam žádný fs konstruktory nemam :\ je to divný
20:18 mornfall když ale zavolám printf tak se tam objeví
20:31 xstill tak jsou tam asi kvůli nějaký C++ hlavičce
20:31 xstill i když mám jen <vector>
20:31 xstill těžko říct ale co všecho si to táhne, i když io by nemuselo…
20:36 yaqwsx_cz joined #divine
20:36 yaqwsx joined #divine
20:39 mornfall a nechceš to debugovat na něčem jednoduchým?

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