Re: [fpc-devel] x86_64 Optimizer Overhaul

2018-12-12 Thread Ryan Joseph
startup and return to the pool instead of freeing. It would make the compiler utilize more memory but that’s a good trade off for me personally. This is especially a good idea because the compiler is a one pass program so leaks over the long term aren’t a problem. Regards,

Re: [fpc-devel] x86_64 Optimizer Overhaul

2018-12-11 Thread Ryan Joseph
AM, J. Gareth Moreton > wrote: > > The overhaul primarily increases the speed of compilation, but it makes some > minor improvements to conditional branches here and there. Nevertheless, I'm > always happy to find a saving here and there in the compiled assembly > language!

Re: [fpc-devel] x86_64 Optimizer Overhaul

2018-12-08 Thread Ryan Joseph
to the linking phase. Regards, Ryan Joseph ___ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-devel

Re: [fpc-devel] x86_64 Optimizer Overhaul

2018-12-08 Thread Ryan Joseph
? Regards, Ryan Joseph ___ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-devel

Re: [fpc-devel] x86_64 Optimizer Overhaul

2018-12-08 Thread Ryan Joseph
s that PPU versions changed so I can’t use the units at the default system locations. Not sure how the compiler decides but it was looking for units at the 3.1.1 install location which is an older PPU version. There should be a single command to specify a top-level directory that wins out o

Re: [fpc-devel] x86_64 Optimizer Overhaul

2018-12-08 Thread Ryan Joseph
Got everything building finally but the time difference is so small I'll need to make a script to compile multiple times and average all the runs. Is it even worth the time doing that? Regards, Ryan Joseph ___ fpc-devel maillist - fpc

Re: [fpc-devel] x86_64 Optimizer Overhaul

2018-12-08 Thread Ryan Joseph
opy) -- File to patch: > On Dec 9, 2018, at 7:11 AM, J. Gareth Moreton > wrote: > > Had any luck with this? Regards, Ryan Joseph ___ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/

Re: [fpc-devel] x86_64 Optimizer Overhaul

2018-12-08 Thread Ryan Joseph
ail? > On Dec 9, 2018, at 8:36 AM, Ryan Joseph wrote: > > Couldn’t figure out the patching. I tried a dry run but it doesn’t seem to > find the file. Regards, Ryan Joseph ___ fpc-devel maillist - fpc-devel@lists.free

Re: [fpc-devel] x86_64 Optimizer Overhaul

2018-12-06 Thread Ryan Joseph
pecial switches to show compiles times more accurate? Regards, Ryan Joseph ___ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-devel

Re: [fpc-devel] LLVM code generator

2018-12-02 Thread Ryan Joseph
testsuite can be > finished as well. There are still some extra failures that do not happen with > the built-in code generator, but most tests work fine. What does this mean for end users? Do we get better debugging support in LLDB? Regards, Ryan Joseph ___

Re: [fpc-devel] Type range in generic

2018-12-02 Thread Ryan Joseph
quot; and no generic specialize or <> is in the > > class generic x: TObject; > > Can it be shared across all generics of a kind? > > The code density in the cache would be good for all common generics. I don’t get what this is trying to accomplish o

Re: [fpc-devel] Type range in generic

2018-12-02 Thread Ryan Joseph
> On Dec 2, 2018, at 4:00 PM, Sven Barth via fpc-devel > wrote: > > Please report as a bug. I don’t get a bug on this in the trunk version I’m using. Maybe it was fixed? Regards, Ryan Joseph ___ fpc-devel maillist

Re: [fpc-devel] Default properties

2018-09-18 Thread Ryan Joseph
> On Sep 10, 2018, at 4:23 PM, Ryan Joseph wrote: > > I think I can use tcallcandidates.create_operator to test this but what do I > pass for the call param node? I didn’t get an answer on this but I was able to figure it out for myself, albeit only for arithmetic operators,

Re: [fpc-devel] Default properties

2018-09-10 Thread Ryan Joseph
_EQ: p1:=caddnode.create(equaln,p1,p2); _GT : p1:=caddnode.create(gtn,p1,p2); Regards, Ryan Joseph ___ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/cgi-bin/ma

Re: [fpc-devel] Default properties

2018-09-10 Thread Ryan Joseph
e preferred method? p1:=csubscriptnode.create(default_property,p1); { p1 being the load node for “wrapper” } Regards, Ryan Joseph ___ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-devel

[fpc-devel] Default properties

2018-09-07 Thread Ryan Joseph
and parameter list and return a found or not found answer? I could start pulling stuff out of do_typecheckpass() but I suspect there’s already a way to do this. Regards, Ryan Joseph ___ fpc-devel maillist - fpc-devel@lists.freepascal.org http

Re: [fpc-devel] Adding procedures using nodes

2018-08-03 Thread Ryan Joseph
> On Aug 2, 2018, at 2:41 PM, Ryan Joseph wrote: > > So the way FreeInstance is called by adding it within a destructor isn’t > exactly what I needed because it requires a destructor actually be present in > the class. > > The next thing I’d like to try is adding a

[fpc-devel] Adding procedures using nodes

2018-08-02 Thread Ryan Joseph
); begin end; so I could call the procedure with a parameter and have a block node (I think begin/end is a block node) so I could add some statements inside that. I’m having fun learning how the compiler works but it’s pretty complicated without any guidance. Thanks. Regards, Ryan

Re: [fpc-devel] FreeInstance

2018-08-01 Thread Ryan Joseph
. Thanks guys. Regards, Ryan Joseph ___ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-devel

Re: [fpc-devel] FreeInstance

2018-08-01 Thread Ryan Joseph
=potype_destructor) then begin if is_class(current_structdef) then begin srsym:=search_struct_member(current_structdef,'FREEINSTANCE'); Regards, Ryan Joseph ___ fpc-devel maillist - fpc-devel@lists.f

Re: [fpc-devel] FreeInstance

2018-07-31 Thread Ryan Joseph
> On Jul 31, 2018, at 9:56 AM, Ryan Joseph wrote: > > then how does it get invoked then? there must be some node added somewhere > but I can’t find it. I’m still trying to find this with no luck. I suspect there’s a call node added when the compiler detects a destructor was c

Re: [fpc-devel] FreeInstance

2018-07-31 Thread Ryan Joseph
it get invoked then? there must be some node added somewhere but I can’t find it. Regards, Ryan Joseph ___ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-devel

[fpc-devel] FreeInstance

2018-07-31 Thread Ryan Joseph
Looking at the FPC source now and it appears FreeInstance is a hidden method which is not called from the TObject destructor. Where/how is this method called in the source? I’ve been in the debugger for over an hour and I still can’t find it. Regards, Ryan Joseph

Re: [fpc-devel] Progress of pure function research

2018-07-17 Thread Ryan Joseph
ilar system to handle pure > functions. I’ve looked at the FPC sources recently but I still don’t understand the basics. I see lots of TDef,TSym,TSymTable classes. What are those used for? You mentioned nodes and I wonder if that’s what those are. Rega

Re: [fpc-devel] Pure function Wiki page

2018-07-09 Thread Ryan Joseph
> On Jul 9, 2018, at 3:25 AM, Sven Barth via fpc-devel > wrote: > > It would allow you to declare constants that use those functions with the > compiler evaluating them at compile time. That’s a double win then. Very good idea this is. Regards,

[fpc-devel] Default record fields

2018-07-09 Thread Ryan Joseph
is anyone interested in helping me do this or answering basic questions on the compiler architecture? Regards, Ryan Joseph ___ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-devel

Re: [fpc-devel] Pure function Wiki page

2018-07-09 Thread Ryan Joseph
I could have used that at some point over the years. Regards, Ryan Joseph ___ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-devel

Re: [fpc-devel] Pure function Wiki page

2018-07-09 Thread Ryan Joseph
t are the performance benefits? It sounds like this is a proposal for a compiler optimization which we can explicitly opt in to, but what exactly is the optimization? If nothing else I like the idea as a way to enforce a function is not accessing global state. Kind of like const for functions.

<    1   2   3   4