Doslovný bazén - Literal pool
![]() | tento článek potřebuje další citace pro ověření.únor 2013) (Zjistěte, jak a kdy odstranit tuto zprávu šablony) ( |
v počítačová věda a konkrétně v překladač a assembler design, a doslovný bazén je vyhledávací tabulka zvyklý držet literály během montáže a provedení.
Více (místních) literálních fondů se obvykle používá pouze pro počítačové architektury ten nedostatek pokyny pobočky pro skoky do dálky nebo si nechejte optimalizovat sadu instrukcí pro kratší skoky. Mezi příklady takových architektur patří ARM architektura a IBM System / 360 a pozdější architektury, které měly řadu instrukcí, které vyřadily 12bitové adresy. V tomto případě by kompilátor vytvořil doslovnou tabulku na každé stránce 4K; všechny větve, jejichž cíl byl vzdálen méně než 4K bytů, mohly být okamžitě přijaty; delší větve vyžadovaly vyhledání adresy prostřednictvím doslovné tabulky. Položky v doslovném fondu jsou umístěny do objekt přemístění tabulky během montáže a poté jsou vyřešeny v čas úpravy odkazu.
V určitých ohledech se doslovný fond podobá a TOC nebo a globální offsetová tabulka (GOT), až na to, že implementace je podstatně jednodušší a na každý objekt může existovat několik literálních tabulek.
Snad nejběžnějším typem doslovného fondu jsou doslovné fondy používané LDR Rd, = konst
pseudonávod v montážním jazyce ARM[1]a podobné pokyny v montážním jazyce IBM System / 360.[2]které jsou kompilovány na LOAD s PC-příbuzným režim adresování a konstanta uložená v doslovném fondu.
V programu se často několikrát použije určitá konstantní hodnota. Mnoho linkerů ve výchozím nastavení ukládá každou jedinečnou konstantu jednou, do jednoho kombinovaného literálového fondu; což zlepšuje velikost kódu.[3]
The Virtuální stroj Java má „řetězec literálového fondu“ a „třídu stálý bazén ".[4]
Reference
![]() | Tento programovací jazyk související článek je a pahýl. Wikipedii můžete pomoci pomocí rozšiřovat to. |