od emko_anonym » 12. 8. 2007 17:20
luk píše:Ahoj!
Jde o to, že, abys věděl, se kterými registry máš pracovat, musíš si nějak simulovat, co se děje na zásobníku. Vstupní blok začíná se zásobníkem na nule a výstupní s ním tak končí, ale uprostřed je potřeba si mezi jednotlivými bloky předávat informaci o tom, jak to s tím zásobníkem je, protože jeho obsah není nijak implicitně daný a a ten funktor se volá pro každý blok zvlášť.
Doufám, že jsem to řekl nějak srozumitelně, přeju hodně zdaru
Překladačům a Lukovi zdar!
Luku promin, zase budu otravnej jak svítiplyn.
. Bohužel, vynechal jsem pár přednášek a cvičení, a byla to chyba.
Já jsem předopokládal, že k tomu, abych zjistil, kolik registrů je již použitých, slouží fce: get_used_regs (), kterou můžu volat rovnou na určitou funkci, která se také předává do toho funktoru:
visitor_instruction_stack_to_register , takže je přístupná pro to generování jednotlivých instrukcí. Tato informace by tedy měla být přistupná pro všechny základní bloky dané funkce, ne? Stejně tak je přístupná funkce:
set_used_regs , kterou naopak bych měl nastavit hodnotu používaných registrů podle určité právě zpracovávané instrukce, nebo ne?
Předpokládal jsem, že pokud chci použít nový registr, tak použiju ten nejbližší vyšší aktuálně použitého registru. Bednárek to v tom svém příkladu děla přeci obdobně.
Nebo, jaky je tedy jiný správný postup propašování informace o použití toho kterého registru do
visitor_instruction_stack_to_register ?
Pokud bys měl chut mi to vysvětlit třeba ještě polopatičtěji, jsem ted večer na ICQ: 222470183. A asi by to bylo i lepší. Nemusím svými hloupými dotazy zatěžovat celé fórum.
Měj se pěkně a brzy nashledanou!
[quote="luk"]Ahoj!
Jde o to, že, abys věděl, se kterými registry máš pracovat, musíš si nějak simulovat, co se děje na zásobníku. Vstupní blok začíná se zásobníkem na nule a výstupní s ním tak končí, ale uprostřed je potřeba si mezi jednotlivými bloky předávat informaci o tom, jak to s tím zásobníkem je, protože jeho obsah není nijak implicitně daný a a ten funktor se volá pro každý blok zvlášť.
Doufám, že jsem to řekl nějak srozumitelně, přeju hodně zdaru :)[/quote]
Překladačům a Lukovi zdar!
Luku promin, zase budu otravnej jak svítiplyn. :D. Bohužel, vynechal jsem pár přednášek a cvičení, a byla to chyba.
Já jsem předopokládal, že k tomu, abych zjistil, kolik registrů je již použitých, slouží fce: get_used_regs (), kterou můžu volat rovnou na určitou funkci, která se také předává do toho funktoru: [i]visitor_instruction_stack_to_register [/i], takže je přístupná pro to generování jednotlivých instrukcí. Tato informace by tedy měla být přistupná pro všechny základní bloky dané funkce, ne? Stejně tak je přístupná funkce: [i]set_used_regs[/i] , kterou naopak bych měl nastavit hodnotu používaných registrů podle určité právě zpracovávané instrukce, nebo ne?
Předpokládal jsem, že pokud chci použít nový registr, tak použiju ten nejbližší vyšší aktuálně použitého registru. Bednárek to v tom svém příkladu děla přeci obdobně.
Nebo, jaky je tedy jiný správný postup propašování informace o použití toho kterého registru do [i]visitor_instruction_stack_to_register [/i] ?
Pokud bys měl chut mi to vysvětlit třeba ještě polopatičtěji, jsem ted večer na ICQ: 222470183. A asi by to bylo i lepší. Nemusím svými hloupými dotazy zatěžovat celé fórum. :)
Měj se pěkně a brzy nashledanou!