"ഗ്നു കമ്പൈലർ ശേഖരം" എന്ന താളിന്റെ പതിപ്പുകൾ തമ്മിലുള്ള വ്യത്യാസം

24 ബൈറ്റുകൾ കൂട്ടിച്ചേർത്തിരിക്കുന്നു ,  9 വർഷം മുമ്പ്
എന്നതിൽ a എന്ന ചരത്തിന്റെ മൂല്യം മൂന്ന് തവണ ആ പ്രസ്താവനയിലൂടെ കടന്ന് പോകുമ്പോളും മാറുന്നില്ല. അതിനാൽ കമ്പൈലർ അതിനെ ലൂപ്പിന് പുറത്തേക്ക് മാറ്റും. b എന്ന ചരം വേറെ എവിടെയും ഉപയോഗിക്കുകയോ അതിന്റെ മൂല്യത്തിൽ മാറ്റം വരികയോ ചെയ്യുന്നില്ല. അതിനാൽ ആ ചരത്തിന്റെ ആവശ്യം തന്നെ വരുന്നില്ല. ഇത് കൂടാതെ പ്രോഗ്രാമിന്റെ വേഗത വർദ്ധിപ്പിക്കുന്ന തരത്തിലുള്ള മെച്ചപ്പെടുത്തലാണ് നടത്തുന്നതെങ്കിൽ മൂന്ന് തവണ മാത്രമാണ് ആ ലൂപ്പിലെ പ്രസ്താവനകളെ പ്രവർത്തിപ്പിക്കേണ്ടത് എന്നത് പരിഗണിച്ച് ആ ലൂപ്പ് ഒഴിവാക്കി പകരം മൂന്ന് തവണ <code>printf("%d", 10);</code> എന്നതിന് സമമായ പ്രസ്താവനകൾ അവിടെ ചേർക്കുന്നു. പ്രവർത്തന സമയത്ത് i എന്ന ചരത്തിന്റെ മൂല്യം പരിശോധിക്കാനും വർദ്ധിപ്പിക്കാനും വേണ്ട സമയം ഇതിലൂടെ ലാഭിക്കം.
 
മുൻഭാഗം തയ്യാറാക്കുന്ന ജെനറിക് രൂപത്തെ ജിമ്പിൾ എന്ന രൂപത്തിലേക്ക് ആദ്യമേ തന്നെ മധ്യഭാഗം മാറ്റുന്നു. ഇതിനെ ജിംപ്ലിഫിക്കേഷൻ എന്ന് വിളിക്കാറുണ്ട്. മക്‌ഗിൽ സർവ്വകലാശാലയുടെ <ref>[http://gcc.gnu.org/onlinedocs/gccint/GIMPLE.html ജിസിസിയുടെ ഓൺലൈൻ സഹായം - ജിമ്പിൾ]</ref> മക്‌കാറ്റ് കമ്പൈലറിൽ ഉപയോഗിച്ചിരുന്ന സിമ്പിൾ എന്ന രീതിയിൽ നിന്ന് പ്രചോദനമുൾക്കൊണ്ടാണ് ജിമ്പിൾ രൂപീകരിക്കപ്പെട്ടത്. ജെനറിക്കിനോട് സാമ്യമുള്ളതാണെങ്കിലും ജിമ്പിൾ രീതിയിൽ ചില പരിധികൾ പാലിച്ചുപോരുന്നു. ഒരു പ്രസ്താവനയിൽ ഒന്നിലധികം ഓപ്പറാന്റുകൾ ഉണ്ടായിരിക്കരുത്, ഒരു പ്രസ്താവനയിൽ ഒന്നിലധികം നിബന്ധനകൾ പരിശൊധിക്കപ്പെടരുത് തുടങ്ങിയവ ഇവയിൽ ചിലതാണ്. ജിമ്പിൾ രൂപത്തെ പിന്നീട് സ്റ്റാറ്റിക് സിംഗിൾ അസൈൻമെന്റ് (എസ്സ് എസ്സ് എ)എന്ന രൂപത്തിലേക്ക് മാറ്റുന്നു. ഈ രൂപത്തിന്റെ പ്രത്യേകത അതിൽ നിന്ന് നിർദ്ദേശങ്ങളെ പ്രവർത്തിപ്പിക്കേണ്ട ക്രമം, ചരങ്ങളുടെ മൂല്യങ്ങൾ‌ ഉൾപ്പെടെയുള്ള വിവരങ്ങൾ പ്രോഗ്രാമിൽ എങ്ങനെയൊക്കെ കൈമാറ്റം ചെയ്യപ്പെടൂന്നു എന്നൊക്കെയുള്ള കാര്യങ്ങൾ വളരെ വ്യക്തമായി മനസ്സിലാക്കാൻ സാധിക്കും എന്നതാണ്. (അല്ലെങ്കിൽ ഇക്കാര്യങ്ങൾ മനസ്സിലാക്കാനായുള്ള ഒരു പ്രോഗ്രാം എഴുതാൻ എളുപ്പമായിരിക്കും). പ്രോഗ്രാമിൽ മെച്ചപ്പെടുത്തലുകൾ നടത്താനുള്ള എളുപ്പത്തിനായാണ് ഈ രീതി ഉപയോഗിക്കുന്നത്. ഉപഭോക്താവ് കമ്പൈലർ‌ പ്രവർത്തിപ്പിക്കുന്ന സമയത്ത് പ്രദിപാദിച്ച ഐഛികങ്ങൾക്കനുസരിച്ചുള്ള മെച്ചപ്പെടുത്തലുകൾ നടത്തിയ ശേഷം എസ്സ് എസ്സ് എ യെ വീണ്ടൂം ജിമ്പിളിലേക്ക് തന്നെ മാറ്റുന്നു. അവസാനമായി ജിമ്പിളിൽ നിന്ന് രെജിസ്റ്റർ‌ ട്രാൻസ്‌ഫർ‌ ലാംഗ്വേജ് (ആർ‌ റ്റി എൽ) എന്ന രൂപത്തിലേക്ക് മാറ്റിയ പ്രോഗ്രാം തയ്യാറാക്കപ്പെടുന്നു. എല്ലാ കമ്പ്യൂട്ടർ‌ പ്രോസസറുകളിലും രജിസ്റ്ററുകൾ ഉണ്ടായിരിക്കും‌. വിവിധ തരത്തിലുള്ള ക്രിയകൾ നടത്തുന്നതിനായി വിവരങ്ങളെ ഈ രജിസ്റ്ററുകളിൽ ശേഖരിക്കുന്നു. ഓരോ പ്രോസസറുകളിലും ഉള്ള രെജിസ്റ്ററൂകൾ വ്യത്യസ്തമായിരിക്കും‌. എന്നാൽ ആർ‌ റ്റി എല്ലിൽ പൊതുവായ ചില പേരുകളും രജിസ്റ്ററുകളുടെ പട്ടികയും ആയിരിക്കും പരാമർശിച്ചിരിക്കുക.
 
=== പിൻഭാഗം ===
33

തിരുത്തലുകൾ

"https://ml.wikipedia.org/wiki/പ്രത്യേകം:മൊബൈൽവ്യത്യാസം/1442718" എന്ന താളിൽനിന്ന് ശേഖരിച്ചത്