Message105531
I am using "cc: HP aC++/ANSI C B3910B A.05.55 [Dec 04 2003]" .. with the following options.
cc +DD64 -Ae -D_REENTRANT +Z -c -g -DNDEBUG -O -I. -IInclude -I./Include -DPy_BUILD_CORE -o Modules/gcmodule.o Modules/gcmodule.c
So that is +O2 level.
----
Interestingly the following patch fixes the bug, and shows that this is a optimization bug in HPUX compiler:
diff -r 549fd95a5eb9 Modules/gcmodule.c
--- a/Modules/gcmodule.c Mon May 10 23:51:33 2010 +0200
+++ b/Modules/gcmodule.c Tue May 11 11:02:52 2010 -0700
@@ -984,7 +984,8 @@
/* Find the oldest generation (highest numbered) where the count
* exceeds the threshold. Objects in the that generation and
* generations younger than it will be collected. */
- for (i = NUM_GENERATIONS-1; i >= 0; i--) {
+ i = NUM_GENERATIONS-1;
+ while (i>=0){
if (generations[i].count > generations[i].threshold) {
/* Avoid quadratic performance degradation in number
of tracked objects. See comments at the beginning
@@ -996,6 +997,7 @@
n = collect(i);
break;
}
+ i--;
}
return n;
}
----
I will try to use a different optimization level now. |
|
Date |
User |
Action |
Args |
2010-05-11 18:04:31 | srid | set | recipients:
+ srid, ronaldoussoren, pitrou |
2010-05-11 18:04:31 | srid | set | messageid: <1273601071.81.0.456232643808.issue8683@psf.upfronthosting.co.za> |
2010-05-11 18:04:30 | srid | link | issue8683 messages |
2010-05-11 18:04:29 | srid | create | |
|