Mostra notizie nelle discussioni
Avatar
☺
Scritto da
altg
utente che non utiene
il 2013-09-29 21:56:41.0 alle 2013-09-29 21:56:41.0
Trollate totali: 11540
Finito... be', insomma...
finito il compilatore. Ficoso

Immagine postata dall'utente

Almeno quello e` pronto, bugghini minori da scovare a parte, e` finalmente feature-frozen. L'ultima aggiunta sono state delle istruzioni interne chiamate "zeroers", che fanno una cosa molto semplice: quando uno assegna a un registro il valore 0, invece di assemblare ad esempio "mov eax, 00000000" con 32 bit di zeri dietro, il compilatore trasforma l'istruzione nel vecchio trucco dello xor (o del sub) del registro con se` stesso, prendendo 2 byte a posto di 5, tanto i flags non sono controllabili in maniera interstiziale e quindi (cioe` per esempio tra una cmp e il salto condizionato). Piu` che altro una rifinitura.

Ah, la LCPL2? E` una licenza che pone condizioni identiche alla LGPL, eccetto per un punto: se la ridistribuzione di un prodotto o di una collezione di cui il prodotto fa parte o a cui e` linkato come libreria, e` sfruttata in modo commerciale, sia l'autore che gli intermediari vogliono la loro parte. Solo per il compilatore, comunque. Il resto e` tutto free "come lo intende Shpalman". Serve idealmente ad evitare che qualcuno ridistribuisca il tutto e campi sull'indotto mentre gli autori originali fanno la fame.

Qui una diapositiva di un listatino che viene dai futuri esempi, che crea un thread e lo mette in esecuzione parallela sul secondo core:

Immagine postata dall'utente

E il suo output:

Immagine postata dall'utente

Ora non resta che rifinire il tutto, scovare eventuali falle residue che dovrebbero essere piuttosto rare, aggiornare le istruzioni per rifletterci il fatto che e` stato implementato il multithreading riempiendole anche di note sulla thread-safety, e poi dovrebbe finalmente farcela ad uscire a riveder le stelle. Fantasma

Pagina generata in 154 millisecondi

Utenti attivi: 13 nell'ultimo minuto, 19 negli ultimi cinque minuti, 40 negli ultimi 15 minuti