<div dir="auto"><div><div class="gmail_quote"><div dir="ltr" class="gmail_attr">George Bakhtadze <<a href="mailto:armorcavalry@yandex.com">armorcavalry@yandex.com</a>> schrieb am Fr., 28. Juni 2019, 08:26:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div>Hello,</div><div> </div><div>> One thing I have been considering is to promote fields and global variables to local registers to reduce memory accesses.</div><div> </div><div><div>That would be great. But multithreaded code which assume (incorrectly) that those fields and globals are in memory may be broken.</div></div></blockquote></div></div><div dir="auto"><br></div><div dir="auto">This assumption is *not* incorrect. Only on the LLVM based Delphi NewGen and FPC's LLVM backend the assumption is incorrect which can be seen by them having added "volatile" mechanisms. </div><div dir="auto"><br></div><div dir="auto">Regards, </div><div dir="auto">Sven </div></div>