This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: PR14538 patch *-rtems ada fixes


Arnaud Charlet wrote:

Out of curiousity, how many targets besides RTEMS support Fake ATCBs
anymore?  It is
a very handy thing and I would love to see us not be special in that regard.


What you call 'Fake ATCBs' is an obsolete piece of code that has been
completely replaced and rewritten in other platforms.

I would have rewritten this long ago had I know this. RTEMS added a special "Ada self" variable as part of its task context in 1999 and I recall that we used DEC/UNIX as the example. FWIW the performance increase was amazing. On the application I was benchmarking this with, Self() was being called 5000/second and we actually measured about 2-3% more system idle time just because of this.

Is there any other change in the porting code that I should know about?

I'd suggest you either use 5atpopsp.adb instead and provide the corresponding
posix wrapper (pthread_setspecific, ...) in 5rosinte.ad{s,b}; or copy what
is done in 5atpopsp.adb which is both cleaner and simpler.

I have updated my local copy of 5rtpopsp.adb to use the new style.


Also, the comments at the top of 5rtpopsp.adb are wrong: this file is only
used by RTEMS.

Yes. Do you want me to fix that?


Could you commit the fix for that place where pthread_setspecific should
be a Set?  I want to clean up my patch and that is needed.

Arno

Thanks.


--joel


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]