PATCH: sjlj exceptions

Jeffrey A Law law@redhat.com
Tue Dec 5 18:52:00 GMT 2000


  In message <200010272021.QAA08569@hiauly1.hia.nrc.ca>you write:
  > This patch resolves to some extent the problems noted in these two postings
  > :
  > < http://gcc.gnu.org/ml/gcc-bugs/2000-08/msg00687.html > and
  > < http://gcc.gnu.org/ml/gcc-bugs/2000-10/msg00083.html >.  My investigation
  > revealed that the problem is only present when sjlj exceptions are used.
  > The memory expansion occured in the gcse pass and was a result of the
  > large number of edges present in functions using sjlj exceptions.
I believe if you look at Richard's recent changes to the SJLJ exception
handling code you'll find that we now build a better CFG (specifically we
don't have nearly as many useless edges).

For a testcase I'm dealing with right now it's drastically reduced both the
memory requirements and compile times.  To give you some idea, the test
takes > 40 minutes to compile without the patch and > 200M of memory
(I didn't bother waiting for it to complete, so I have no idea how long
it would take to finish or whether or not the peak memory usage would
increase).  After Richard's patch we're on the order of 7 minutes and
100M of memory.

There is one bug introduced by Richard's patch that I'll post a fix for
shortly.

jeff



More information about the Gcc-bugs mailing list