GNU lightning
જીએનયુ લાઈટનિંગ એ રન-ટાઇમ પર એસેમ્બલી લેંગ્વેજ કોડ બનાવવા માટેની ફ્રી-સોફ્ટવેર લાઇબ્રેરી છે. સપ્ટેમ્બર 2019માં બહાર પાડવામાં આવેલ સંસ્કરણ 2.1.3, SPARC (32-બીટ), x86 (32-અને 64-બીટ), MIPS, ARM (32-અને 64-બીટ), ia64, HPPA, પાવરપીસી (32-બીટ), આલ્ફા, S390 અને RISC-V (64-બીટ) માટે બેકએન્ડને સપોર્ટ કરે છે. અન્ય પુસ્તકાલયો પર ફાયદા જી. એન. યુ. લાઈટનિંગ પૂરી પાડતી સુવિધાઓ તેને જસ્ટ-ઇન-ટાઇમ સંકલન માટે ઉપયોગી બનાવે છે. એલ. એલ. વી. એમ. અથવા libJIT જેવા પુસ્તકાલયોની તુલનામાં, જી. એન. યુ. લાઈટનિંગ લક્ષ્ય આર્કિટેક્ચરની મશીન લેંગ્વેજમાં-SPARC અને MIPS આર્કિટેક્ચર પર આધારિત-પ્રમાણિત RISC એસેમ્બલી લેંગ્વેજમાંથી એસેમ્બલ કરવા માટે માત્ર નીચા-સ્તરનું ઇન્ટરફેસ પ્રદાન કરે છે. ગેરફાયદા તે રજિસ્ટર ફાળવણી, ડેટા-ફ્લો અથવા કંટ્રોલ-ફ્લો વિશ્લેષણ અથવા ઓપ્ટિમાઇઝેશન પ્રદાન કરતું નથી. 2. x થી શરૂ કરીને, તે દરેક પ્રમાણિત સૂચનામાંથી એક પછી એક કોડને બદલે મધ્યવર્તી આલેખ દ્વારા કોડ જનરેટ કરે છે. આ ફેરફાર રજિસ્ટર ફાળવણી અને ડેડ કોડ નાબૂદી જેવા આંતર-સૂચના ઓપ્ટિમાઇઝેશનને મંજૂરી આપે છે. સૂચના સમૂહ જી. એન. યુ. લાઈટનિંગનો સૂચના સમૂહ હાલની આર. આઈ. એસ. સી. રચનાઓ પર ઢીલી રીતે આધારિત છે. જ્યારે જરૂરી હોય ત્યારે સૂચનાઓ આ 9 પ્રકારો સાથે ડેટાને હેન્ડલ કરે છેઃ પ્રોજેક્ટ કે જે જીએનયુ લાઈટનિંગ જીએનયુ સ્મોલટૉક, જીએનયુ ગિલ અને સીએલઆઇએસપીનો ઉપયોગ કરે છે તે જસ્ટ-ઇન-ટાઇમ સંકલન માટે જીએનયુ લાઈટનિંગનો ઉપયોગ કરે છે. જી. એન. યુ. લાઈટનિંગ સૌપ્રથમ જી. એન. યુ. સ્મોલટૉકના ડાયનેમિક ટ્રાન્સલેટરમાં ઉપયોગમાં લેવાતા સાધન તરીકે વિકસાવવામાં આવ્યું હતું, જેનો ઉપયોગ બાઈટકોડ્સથી નેટિવ કોડમાં કરવામાં આવ્યો હતો. જી. એન. યુ. ગાઇલ 2.9.2 અને પછી જી. એન. યુ. લાઈટનિંગ 2. x નો ઉપયોગ કરવાનું બંધ કરો, તેના બદલે મૂળ કોડ જનરેશન માટે જી. એન. યુ. લાઈટનિંગ 1.4 પર આધારિત તેમના પોતાના કાંટાનો ઉપયોગ કરવાનું બંધ કરો, કારણ કે જી. એન. યુ. લાઈટનિંગ 2. x આંતર-સૂચના ઓપ્ટિમાઇઝેશન માટે વધુ જટિલતા સમર્પિત કરે છે. નોંધો સંદર્ભો બાહ્ય કડીઓ ફ્રી સોફ્ટવેર ડિરેક્ટરી લાઈટનિંગ પર જીએનયુ લાઈટનિંગ