GNU lightning
ಜಿ. ಎನ್. ಯು. ಲೈಟ್ನಿಂಗ್ ಎಂಬುದು ರನ್-ಟೈಮ್ನಲ್ಲಿ ಅಸೆಂಬ್ಲಿ ಭಾಷೆಯ ಕೋಡ್ ಅನ್ನು ಉತ್ಪಾದಿಸುವ ಉಚಿತ ಸಾಫ್ಟ್ವೇರ್ ಲೈಬ್ರರಿಯಾಗಿದೆ. ಸೆಪ್ಟೆಂಬರ್ 2019 ರಲ್ಲಿ ಬಿಡುಗಡೆಯಾದ ಆವೃತ್ತಿ 2.1.3, SPARC (32-ಬಿಟ್), x86 (32-ಮತ್ತು 64-ಬಿಟ್), MIPS, ARM (32-ಮತ್ತು 64-ಬಿಟ್), ia64, HPPA, ಪವರ್ಪಿಸಿ (32-ಬಿಟ್), ಆಲ್ಫಾ, S390 ಮತ್ತು RISC-V (64-ಬಿಟ್) ಗಾಗಿ ಬ್ಯಾಕೆಂಡ್ಗಳನ್ನು ಬೆಂಬಲಿಸುತ್ತದೆ. ಇತರ ಗ್ರಂಥಾಲಯಗಳಿಗಿಂತ ಪ್ರಯೋಜನಗಳು ಗ್ನೂ ಮಿಂಚಿನ ವೈಶಿಷ್ಟ್ಯಗಳು ಜಸ್ಟ್-ಇನ್-ಟೈಮ್ ಸಂಕಲನಕ್ಕೆ ಉಪಯುಕ್ತವಾಗಿವೆ. ಎಲ್ಎಲ್ವಿಎಂ ಅಥವಾ ಲಿಬ್ಜೈಟ್ನಂತಹ ಗ್ರಂಥಾಲಯಗಳಿಗೆ ಹೋಲಿಸಿದರೆ, ಗ್ನೂ ಲೈಟ್ನಿಂಗ್ ಒಂದು ಪ್ರಮಾಣೀಕೃತ ಆರ್ಐಎಸ್ಸಿ ಜೋಡಣೆ ಭಾಷೆಯಿಂದ-ಸಡಿಲವಾಗಿ ಎಸ್. ಪಿ. ಎ. ಆರ್. ಸಿ ಮತ್ತು ಎಮ್. ಐ. ಪಿ. ಎಸ್ ವಿನ್ಯಾಸಗಳನ್ನು ಆಧರಿಸಿದ-ಗುರಿ ವಾಸ್ತುಶಿಲ್ಪದ ಯಂತ್ರ ಭಾಷೆಗೆ ಜೋಡಿಸಲು ಕಡಿಮೆ ಮಟ್ಟದ ಇಂಟರ್ಫೇಸ್ ಅನ್ನು ಮಾತ್ರ ಒದಗಿಸುತ್ತದೆ. ಅನಾನುಕೂಲಗಳು ಇದು ನೋಂದಣಿ ಹಂಚಿಕೆ, ದತ್ತಾಂಶ-ಹರಿವು ಅಥವಾ ನಿಯಂತ್ರಣ-ಹರಿವಿನ ವಿಶ್ಲೇಷಣೆ ಅಥವಾ ಆಪ್ಟಿಮೈಸೇಶನ್ ಅನ್ನು ಒದಗಿಸುವುದಿಲ್ಲ. 2. x ನಿಂದ ಪ್ರಾರಂಭಿಸಿ, ಇದು ಪ್ರತಿಯೊಂದರಿಂದಲೂ ಒಂದೊಂದಾಗಿ ಕೋಡ್ ಅನ್ನು ಉತ್ಪಾದಿಸುವ ಬದಲು ಮಧ್ಯಂತರ ಗ್ರಾಫ್ ಮೂಲಕ ಕೋಡ್ ಅನ್ನು ಉತ್ಪಾದಿಸುತ್ತದೆ. ಈ ಬದಲಾವಣೆಯು ರಿಜಿಸ್ಟರ್ ಹಂಚಿಕೆ ಮತ್ತು ಡೆಡ್ ಕೋಡ್ ಎಲಿಮಿನೇಷನ್ನಂತಹ ಅಂತರ-ಸೂಚನಾ ಆಪ್ಟಿಮೈಸೇಶನ್ ಅನ್ನು ಅನುಮತಿಸುತ್ತದೆ. ಇನ್ಸ್ಟ್ರಕ್ಷನ್ ಸೆಟ್ ಗ್ನೂ ಮಿಂಚಿನ ಇನ್ಸ್ಟ್ರಕ್ಷನ್ ಸೆಟ್ ಅಸ್ತಿತ್ವದಲ್ಲಿರುವ ಆರ್ಐಎಸ್ಸಿ ಆರ್ಕಿಟೆಕ್ಚರ್ಗಳನ್ನು ಸಡಿಲವಾಗಿ ಆಧರಿಸಿದೆ. ಪ್ರಕಾರಗಳು ಅಗತ್ಯವಿದ್ದಾಗ ಸೂಚನೆಗಳು ಈ 9 ವಿಧಗಳೊಂದಿಗೆ ದತ್ತಾಂಶವನ್ನು ನಿರ್ವಹಿಸುತ್ತವೆಃ ಗ್ನೂ ಲೈಟ್ನಿಂಗ್ ಗ್ನೂ ಸ್ಮಾಲ್ಟಾಕ್, ಗ್ನೂ ಗೈಲ್ ಮತ್ತು ಸಿಎಲ್ಐಎಸ್ಪಿ ಬಳಸುವ ಯೋಜನೆಗಳು ಜಸ್ಟ್-ಇನ್-ಟೈಮ್ ಸಂಕಲನಕ್ಕಾಗಿ ಗ್ನೂ ಲೈಟ್ನಿಂಗ್ ಅನ್ನು ಬಳಸುತ್ತವೆ. ಜಿ. ಎನ್. ಯು. ಸ್ಮಾಲ್ಟಾಕ್ನ ಡೈನಾಮಿಕ್ ಟ್ರಾನ್ಸ್ಲೇಟರ್ನಲ್ಲಿ ಬೈಟ್ಕೋಡ್ಗಳಿಂದ ಸ್ಥಳೀಯ ಕೋಡ್ಗೆ ಬಳಸುವ ಸಾಧನವಾಗಿ ಜಿ. ಎನ್. ಯು. ಮಿಂಚಿನನ್ನು ಮೊದಲು ಅಭಿವೃದ್ಧಿಪಡಿಸಲಾಯಿತು. ಜಿ. ಎನ್. ಯು. ಗೈಲ್ 2.9.2 ಮತ್ತು ನಂತರ ಸ್ಥಳೀಯ ಕೋಡ್ ಉತ್ಪಾದನೆಗೆ ಜಿ. ಎನ್. ಯು. ಮಿಂಚಿನ 1.4 ಆಧಾರಿತ ತಮ್ಮದೇ ಸ್ವಂತ ಫೋರ್ಕ್ ಬದಲಿಗೆ ಜಿ. ಎನ್. ಯು. ಮಿಂಚಿನ 2. x ಅನ್ನು ಬಳಸುವುದನ್ನು ನಿಲ್ಲಿಸಿ, ಏಕೆಂದರೆ ಜಿ. ಎನ್. ಯು. ಮಿಂಚಿನ 2. x ಅಂತರ-ಸೂಚನಾ ಆಪ್ಟಿಮೈಸೇಶನ್ಗೆ ಹೆಚ್ಚು ಸಂಕೀರ್ಣತೆಯನ್ನು ಮೀಸಲಿಡುತ್ತದೆ. ಟಿಪ್ಪಣಿಗಳು ಉಲ್ಲೇಖಗಳು ಬಾಹ್ಯ ಕೊಂಡಿಗಳು ಮುಕ್ತ ತಂತ್ರಾಂಶ ಡೈರೆಕ್ಟರಿ ಮಿಂಚಿನ ಮೇಲೆ ಗ್ನೂ ಮಿಂಚು