Perl 6 - the future is here, just unevenly distributed

IRC log for #divine, 2016-07-01

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

All times shown according to UTC.

Time Nick Message
09:36 xstill mornfall: dokážu nějak strukturu kterou nakopírovat do paměti interpretovaného programu? Z heap.hpp vidím, že bych to asi mohl dělat po částech, ale chtěl bych to udělat celé naráz
09:38 xstill nebo ještě lépe přistupovat k paměti intrpretovaného programu přes pormální pointr
10:11 mornfall xstill: to fakt nemůžeš
10:14 xstill mornfall: proč?
10:14 mornfall to by přece nemohlo fungovat
10:14 mornfall rozhraní haldy je skrz value::*
10:15 xstill ono by to rozbilo flagy, co?
10:16 mornfall to taky
10:16 mornfall celkově metadata, a halda si může organizovat aj data víceméně jak chce
10:17 xstill jo, tak na to musím jinak
10:17 mornfall tak je tam shift() na tohle třeba
10:18 mornfall ale já bych ty varargy asi stejně řešil jinak
10:18 mornfall ono je to takhle dost amd64-specific
10:18 mornfall nevim jestli by nebylo lepší v native runtime je prostě nakopírovat na zásobník
10:19 mornfall do nějakýho alloca
10:19 mornfall (ve va_start)
10:19 mornfall no dobře tam je ten kus kterej nejde udělat když to je call (a ne makro)
10:21 mornfall tak do mallocu, a ve va_end to uvolnit
10:23 mornfall umí to amd64 abi aspoň říct kolik jich skutečně ta fce dostala, když už je tak složitý?
10:26 xstill neumí, hlavně musíš znát jejich typy a pořadí abys je správně slil do jednoho bloku z tě regsave oblasti
10:27 xstill tak stejně ta implementace je závislá na tom jakou platformu si ten kompiátor myslí, že máš
10:28 xstill takže 32 bit věci by potřebovaly jinou implementaci, a ta implementace buď může být v interpretru nebo v lib, ale složitá bude vždycky
10:28 xstill teda pro amd64
10:30 mornfall no ten problém je ale fakt jen ten, že to co má va_start dělat na amd64 nejde udělat ve fci, musí to být (dost velký) makro
10:31 mornfall který se pak musí rozbalit aj do bitkódu a musíme simulovat amd64-style předávání parametrů
10:31 mornfall (jestli to je makro nebo intrinsic moc nehraje roli)
10:31 mornfall no vlastně
10:32 xstill no ne, jen by sis musel kromě těch parametrů pamatovat i jejich typy
10:32 xstill (jak kopíruješ extra parametry někam na haldu)
10:33 xstill a pokud někdy budeme chtít umět x86 tak to musíme poznat z triple která implementace toho intrinsiku se použije
10:35 mornfall a clang teda generuje llvm.va_* nebo negeneruje?
10:35 mornfall protože llvm.va_* by nebyl problém asi
10:35 mornfall tam žádná struktura definovaná není
10:35 xstill clang generuje va_{start,copy,end}
10:36 xstill teda volá je
10:36 mornfall ještě nějaký jiný než ty v llvm.?
10:36 xstill va_arg buď přibylo v 3.9, nebo se negeneruje
10:36 xstill myslel jsem llvm.va_*
10:36 xstill va_arg je instrukce (alespoň v 3.9 langrefu
10:36 xstill )
10:37 mornfall hm, takže problém je s va_arg protože ten generuje přímo z nějakýho makra jo?
10:37 xstill je pravda, že kdyby byla va_arg instrukce tak se to dá udělat výrazně snadnějš, prostě se z té struktury použuje jen ten pointr
10:37 xstill no z intrinsiku
10:38 xstill __builtin_va_arg
10:39 xstill jo, ta instrukce je i v 3.7 ale clang 3.7 ani 3.8 ji negeneruje
10:39 mornfall to by mohlo jít vyřešit vhodnou definicí #define va_arg ne?
10:40 mornfall clang už umí inline llvm myslim?
10:40 mornfall jestli nějak dokáže z C typu stvořit llvm typ (ale to tradičně inline asm umí)
10:43 xstill "Note that the code generator does not yet fully support va_arg on many targets. Also, it does not currently support va_arg with aggregate types on any target." … mech
10:43 xstill takže proto to clang generuje natvrdo
10:43 xstill asi
10:44 mornfall jo, a na arke mizí data z /var/tmp
10:44 mornfall asi tam běhá nějakej tmpwatch
10:44 xstill cože?
10:44 mornfall no moje repa jsou víceméně smazaný
10:44 xstill to je docela průšvih
10:47 xstill no ne jen tvoje
10:49 xstill já si svoje přesunul do home někdy minulý týden… ty to svoje snad máš u sebe, ne?
10:49 mornfall jo asi jo
10:50 xstill Viki to má snad u sebe nakopírovaný a Katka asi nic dalšího nedělala od DIVINE týdne a to je snad v divine4 master repu (od toho kdyžtak mám clone někdy asi taky z minulého týdne)
10:51 xstill nicméně je to teda zrada
10:51 mornfall no Katka si neopravila ten rozhašenej patch (kterej někde mám), ale v mastru to určitě není
10:52 mornfall (a master byl taky ve /var/tmp)
10:52 mornfall (a taky tam už není)
10:52 xstill dával jsi něco do mastru v poslední době?
10:52 mornfall spito tam něco měl
10:53 xstill já mám toto: Jun 19 12:35 divine4-upstream/
10:53 mornfall jo, naposled asi 17.
10:54 xstill takže to pak mám u sebe; spitovy to zmizlo obávám se
10:54 xstill katce tam zůstalo shadow.hpp :-)
10:54 xstill Viki tam asi nic měla
10:55 xstill a Jiříkovi to zmizlo jestli tam ještě něco měl
10:58 mornfall s va_arg bych asi zkusil clang nějak ukecat aby to vyrobil, to nemůže být zas tak těžký (s tím, že snad to codegen na amd64 zvládne, agregáty ber čert, aspoň prozatím)
10:59 xstill hm ale já tu ty tvoje patche ze 17. nemám
10:59 mornfall to asi nebyl patch ze 17 ale push něčeho staršího
11:01 xstill no každopádně ~xstill/DiVinE/divine4-upstream
11:07 xstill jo, systemd za to může
11:09 mornfall proč mě to nepřekvapuje
12:25 xstill jinak teda co ještě bylo v /var/tmp jsem si přepopíroval do ~/vartmp
12:26 mornfall ok
20:06 ilbot3 joined #divine
20:06 Topic for #divine is now DIVINE: A Parallel LTL Model Checker (http://divine.fi.muni.cz) | http://irclog.perlgeek.de/divine/

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