Re: [fpc-devel] Progress on reviewing x86_64 optimizer overhaul and node semantic pass

2019-10-30 Thread George Bakhtadze
> For example, if I have changes in separate files that I want to split up, how > might one go about it without manually modiying the patch files? (As an easy > example, I split up the uComplex patches into two... one with the alignment > and vectorcall changes, and the other with the "const"

Re: [fpc-devel] Progress on reviewing x86_64 optimizer overhaul and node semantic pass

2019-10-29 Thread George Bakhtadze
> Oh yeah, conflict resolution is the thing nobody really gets right, but TGit is> a bit less wrong.> I've pretty much resigned myself to Ctrl-F ">"... I use Intellij IDEA as VCS client (both git and svn supported).Patches, partial commits and conflicts resolution (automatic for many cases)

Re: [fpc-devel] Some thoughts on multi-line string support, and a possible syntax that I think is perfectly clean and Pascal-ish.

2019-07-06 Thread George Bakhtadze
> In case case of readability: most cases of multi line string constants are > likely to be embedded scripts (shaders, SQL, whatever) and thus the > $INCLUDESTRING directive mentioned in the bug report is much more useable, > because it allows you to view the embedded file in its own editor

Re: [fpc-devel] atomic reads and writes, was: "Maybe Gareth can be convinced to spend his energy on this ... "

2019-07-03 Thread George Bakhtadze
Hello, > btw, how would you do that if it is in not guaranteed? especially on arm There are memory barriers in FPC: ReadBarrier, WriteBarrier etc.I didn't investigate it but probably these barriers are for CPU only - gives guarantee that load/store operations are finished and thus you can rely on

Re: [fpc-devel] "Maybe Gareth can be convinced to spend his energy on this ... "

2019-06-29 Thread George Bakhtadze
 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.  I believe this assumption incorrect because it's not stated in documentation as correct.If FPC somehow

Re: [fpc-devel] "Maybe Gareth can be convinced to spend his energy on this ... "

2019-06-29 Thread George Bakhtadze
> As an side since you’re talking about optimizations what would it take to > make the copy/addref record operators be inline? Unless I’m mistaken that’s > one of the bigger issues that makes custom ref counted objects slower than > built in compiler types. Just curious... I believe counter's

Re: [fpc-devel] "Maybe Gareth can be convinced to spend his energy on this ... "

2019-06-28 Thread George Bakhtadze
Hello, > One thing I have been considering is to promote fields and global variables to local registers to reduce memory accesses. That would be great. But multithreaded code which assume (incorrectly) that those fields and globals are in memory may be broken.Other languages don't allow to assume

Re: [fpc-devel] Standard generic classes

2019-06-06 Thread George Bakhtadze
It would be also great if there was an official set of interfaces (not necessarily in interface type form but API description) describing all these generic containers and algorithms.Thus, all implementations which follow these interfaces are interchangeable.I believe this is even more important

Re: [fpc-devel] Good timing metric test program?

2019-02-27 Thread George Bakhtadze
Gareth, First of all, thanks for working on compiler optimizations. I think it's very important. As of benchmark - there is a simple 3D ray tracer benchmark written on several languages including Pascal. AFAIR Pascal version almost as fast as Java one and slightly faster than Javascript.

Re: [fpc-devel] "Blank slate" next version of FPC

2019-02-19 Thread George Bakhtadze
Theoretically there is a way to refresh the language without breaking existing code - a new {$mode}. Or even completely new compiler will not break old code if it can handle .ppu generated by the current one. And there is much to improve. Not only add modern language features but in syntax