[cxx-abi-dev] comparing type_infos (was Re: Patch for throw/catch problems)
Jason Merrill
jason_merrill at redhat.com
Tue Aug 14 22:47:45 UTC 2001
>>>>> "Mark" == Mark Mitchell <mark at codesourcery.com> writes:
> Maybe -- but it is what it says, and it is what people have implemented.
> I know that there are C++ compilers out there with runtimes that do
> pointer comparisons now...
Really? Comparisons of pointers to type_infos, complete with the special
trickery necessary to handle pointers to incomplete type? Why, when they
can just as easily do pointer comparison of the NTBS?
> Anyhow, there are two issues, both important:
> - What happens with RTLD_LOCAL?
> - How can we reduce startup cost?
> They're somewhat different, even if they might have a related solution.
> My opinion is that RTLD_LOCAL is not something we should even try to
> get right. It's way too hard.
Yup.
> Startup cost happens once per program, except for any excess memory
> used that hangs around. So, for a long-running application (anything
> graphical definitely qualifies) this isn't *too* important, and there
> are techniques (caching, prelinking) that can get around the problem.
And yet it seems to be a significant problem for a significant number of
people. I was trying hard to avoid unnecessary dynamic relocations in the
ABI; clearly I failed. I think I wasn't paying close enough attention to
the RTTI stuff.
Jason
More information about the cxx-abi-dev
mailing list