Perl 6 - the future is here, just unevenly distributed

IRC log for #divine, 2016-08-16

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

All times shown according to UTC.

Time Nick Message
07:49 xstill_ mornfall: code a global pointery taky nebudou fungovat, když nebudou mít správně nastavený metadata, že?
09:41 mornfall v jakém smyslu fungovat? resp. jaký metadata?
09:57 xstill_ no, shadow
09:57 xstill_ definovanost a pointer flagy
10:03 mornfall no nedefinovanej global pointer bude nedefinovanej
10:03 xstill_ spíš mi jde o to jestli musí mít nastavenej pointer flag
10:03 mornfall ten pointer flag jsem tam zatím nechal, ale nevyhnutný to neni
10:03 xstill_ ale ono je to asi jedno, já to tam zvládnu zapsat i s tím
10:04 mornfall co kutíš?
10:04 xstill_ no výjimky
10:04 xstill_ tam jsou ty pointry na type info
10:05 mornfall jo tamty... no to asi zapisuj stejně jako všechno ostatní ne?
10:06 mornfall když nebudou definovaný tak to fungovat nebude určitě
10:08 xstill_ no já ty tabulky nejdřív generoval do stringu a pak jsem si uvědomil, že se to asi rozbije. Tam je totiž problém s tím, že musíš znát délky částí tabulky dřív než je zapíšeš. Ale není to až takovej problém. Definovanost není problém zajistit
10:09 mornfall nojo... já bych to asi nageneroval do vektoru a pak zakódoval :-)
10:27 xstill_ nezarovnanej pointr asi nebude moc fungovat, co?
10:29 xstill_ ten formát totiž vymýšlel nějakej magor asi, type info tabulka je na offsetu, od místa za koncem zápisu toho offsetu, jenže zápis toho offsetu je LEB128, takže má proměnlivou délku… jak to mám sakra zarovnat…
10:31 mornfall no nebude, aspoň ne dokud někdo nedořeší ty shadow výjimky
10:31 xstill_ hm, ale on ten LEB zas není tak chytrej aby se rozbil když to bude zakódovaný na víc bajtů než je nutný
10:32 mornfall zarovnaný to musí být, jinak se to rozbije aj jinde než v divinu
10:32 mornfall (nebo se to musí vykopírovat po bajtech ven na zarovnanou adresu)
10:34 xstill_ minimálně libc++abi to čte po bajtech
10:35 mornfall ono by bylo ideální to mít zakódovaný stejně, ale to bude muset chvíli počkat
10:35 xstill_ jak stejně?
10:35 mornfall no stejně jak to kóduje clang
10:36 xstill_ no to nedáš, to bys musel v clangu vytvořit "platformu" kderá codegenuje LLVM, ten jejich generátor je vztaženej k machine code
10:37 mornfall no tim myslim vytvořit ze stejnýho vstupu stejně zakódovaný data, ne nutně stejnou cestou v kódu
10:38 mornfall (a jít by to šlo, spíš teda vykucháním toho kódovače z codegenu, oni to stejně musí nějak sdílet)
11:00 xstill_ ale kde jsem vzal instrukci která má opcode ale nemá op to teda nevím :-/
11:01 xstill_ a hlavně jak jsem toho dosáhl tím, že jsem zapsal metadata do konstant
11:11 mornfall xstill_: asi nemáš patch :-)
11:11 xstill_ to nemám
11:12 mornfall xstill_: opcode byl neinicializovaný
11:12 mornfall pokud to nemělo op
11:12 mornfall trochu zrada no
11:12 mornfall ale v next by měl být
11:12 xstill_ OK
11:19 xstill_ /home/xstill/DIVINE/divine4/divine/ui/sim.cpp:51:20: error: no type named 'DebugNode' in namespace 'divine::vm'
11:19 xstill_ using DN = vm::DebugNode< vm::explore::Context >;
11:19 xstill_ mornfall: nezapomněl jsi něco zarecordovat?
11:20 xstill_ achjo, teď se to pro jistotu rozhodle přebuildit celý LLVM
11:22 xstill_ hm, ale ten DebugNode tam je
11:28 mornfall to je divný, protože ten tam je od začátku
11:29 mornfall to by nešlo přeložit už minulej týden
11:44 xstill_ nějaký bug v cmake asi, teď se to přeložilo
11:49 mornfall super
12:09 xstill_ hm, to vypadá, že mi vm_jump skočil za konec funkce
12:18 xstill_ joined #divine
12:37 xstill_ jakto, že jsme se zatím nesetkali s tím, že by nám něco nefugovalo kvůli __vm_choose v mallocu
13:32 mornfall asi nikdo nezkoušel volat malloc
13:42 xstill_ mornfall: dojedeš zítra?
13:42 mornfall jo
14:22 xstill_ hm, když chvíli nechám běžet v sim run a pak dávám step tak mi to za chvíli padne na assertu v haldě
14:22 xstill_ E: .../divine/vm/heap.hpp: 259:
14:22 xstill_ expected sizeof( Raw ) <= size( p ) - p.offset()
14:22 xstill_ but got 8 > 4
14:23 xstill_ z eval.hpp:321
14:23 xstill_ debug.hpp:82
14:26 xstill_ … nějaké op věci a pak sim.cpp:96
14:26 xstill_ 148, 276
14:27 xstill_ (v run to dojde k VM faultu, sim na žádný nenarazil)
14:38 mornfall jo, vím o tom, je to bug
14:38 mornfall jen to mam teď docela rozkopaný (mimo jiné pro ten bug), takže opravený to bude nejdřív zítra
14:39 mornfall klasický jdu opravit bug a skončim u koncepčních potíží :-)
15:00 xstill_ mornfall: zase mi to padá v boundcheck na code pointeru
15:01 xstill_ eval.hpp:243
15:02 xstill_ hm, on je to null ale
15:02 mornfall null se kontroluje nad tím
15:02 xstill_ jo boundcheck na 0:32
15:02 mornfall jo to je null + 32
15:02 xstill_ no on není úplně null, má offset
15:02 mornfall to je trochu problém no :)
15:04 mornfall s těma null pointerama se to musí vyřešit nějak jinak
15:05 mornfall to je věčnej konflikt mezi 'tím' null a 'nějakým' null
15:06 mornfall v podstatě to asi rovnou předělám, stejně jsem už hrabal do ukazatelů
15:51 xstill_ do háje, člověk zapne autotrace a rozbije se generování metadat
15:52 xstill_ přitom se to dokonce dělá ve správném pořadí
20:39 divine-buildbot joined #divine

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