summaryrefslogtreecommitdiffstats
path: root/libjava/classpath/java/sql/Savepoint.java
diff options
context:
space:
mode:
authorak <ak@138bc75d-0d04-0410-961f-82ee72b054a4>2013-09-08 23:41:38 +0000
committerak <ak@138bc75d-0d04-0410-961f-82ee72b054a4>2013-09-08 23:41:38 +0000
commit5a5c1f812b36f728ab676db6b45242e1fc28e9a6 (patch)
tree8ffb6df62f9e66b086cef2af05cda842981860ed /libjava/classpath/java/sql/Savepoint.java
parent786f817740a7dca966e5f49b0b4976b32d0be744 (diff)
downloadppe42-gcc-5a5c1f812b36f728ab676db6b45242e1fc28e9a6.tar.gz
ppe42-gcc-5a5c1f812b36f728ab676db6b45242e1fc28e9a6.zip
Fix handling of very long asm statements in inliner
An auto generated program with a 6.4mio line asm statement gave with 4.7 and 4.8: xxx.c:6400017:1: internal compiler error: in account_size_time, at ipa-inline-analysis.c:601 The problem is that the inliner counts the number of lines in the asm statement and multiplies that with a weight. With the weight this overflows 32bit signed int, and triggers an assert for negative time. Fix this by limiting the number of lines to 1000 for asm cost estimation. The RTL backend also does similar multiplications for jump shortening. I haven't tried to address this, but presumably it's less likely to result in a failure. gcc/: 2013-09-08 Andi Kleen <ak@linux.intel.com> * tree-inline.c (estimate_num_insns): Limit asm cost to 1000. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202374 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libjava/classpath/java/sql/Savepoint.java')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud