1 def no_core_lint(opts):
2 opts.compiler_always_flags = \
3 filter(lambda opt: opt != '-dcore-lint', opts.compiler_always_flags)
5 setTestOpts(no_core_lint)
10 compiler_stats_num_field('peak_megabytes_allocated', 13,
12 # expected value: 14 (x86/Windows 17/05/10)
16 compiler_stats_num_field('peak_megabytes_allocated', 24,
18 # expected value: 28 (amd64/Linux)
19 # expected value: 34 (amd64/Linux)
21 compiler_stats_num_field('max_bytes_used', 5000000,
23 # expected value: 6707308 (x86/OS X)
24 # 5717704 (x86/Windows 17/05/10)
25 # 6149572 (x86/Linux, 31/12/09)
27 compiler_stats_range_field('max_bytes_used', 11000000, 15)),
28 # expected value: 11178376 (amd64/Linux)
29 # varies quite a lot with CLEANUP and BINDIST,
32 compiler_stats_num_field('bytes allocated', 210000000,
34 # expected value: 215582916 (x86/Windows)
35 # 221667908 (x86/OS X)
37 compiler_stats_num_field('bytes allocated', 420000000,
39 # 17/11/2009: 434,845,560 (amd64/Linux)
40 # 08/12/2009: 459,776,680 (amd64/Linux)
41 # 17/05/2010: 519,377,728 (amd64/Linux)
42 # 05/08/2011: 561,382,568 (amd64/OS X)
43 only_ways(['normal']),
44 extra_hc_opts('-dcore-lint')
45 # Leave -dcore-lint on for this one test, so that we have something
46 # that will catch a regression in -dcore-lint performance.
51 # This one tests for the space leak in the native code generator,
52 # where it holds onto the entire asm output until the end. The space
53 # leak reappears from time to time, so it's a good idea to have a test
54 # for it. The residency of this test will jump by 10MB to 40MB or so
55 # on x86-64 if the space leak appears.
57 # Only run this one if we have an NCG:
58 if 'optasm' in config.compile_ways:
59 conf_3294 = only_ways(['normal'])
65 compiler_stats_num_field('max_bytes_used', 14000000,
67 # expected value: 17725476 (x86/OS X)
70 compiler_stats_num_field('max_bytes_used', 26000000,
72 # expected value: 32 478 408 (amd64/Linux)
73 # (but varies a lot, depending on when
74 # we GC relative to the peak).
75 # (MCB: consistently reaching ~35 375 912 for
76 # me lately on amd64/Darwin)
78 compiler_stats_num_field('bytes allocated', 650000000,
80 # expected value: 815479800 (x86/Linux)
82 compiler_stats_num_field('bytes allocated', 1200000000,
84 # expected value: 1357587088 (amd64/Linux)
91 [ # expect_broken(5224),
92 # temporarily unbroken (#5227)
94 compiler_stats_range_field('peak_megabytes_allocated', 30, 10)),
95 if_wordsize(64, # sample from (amd64/Linux):
96 compiler_stats_range_field('peak_megabytes_allocated', 50, 20)),
97 # expected value: 58 (amd64/OS X):
98 if_platform('x86_64-apple-darwin',
99 compiler_stats_num_field('peak_megabytes_allocated', 56, 60)),
100 # expected value: 228286660 (x86/OS X)
102 compiler_stats_range_field('bytes allocated', 185669232, 10)),
103 if_wordsize(64, # (amd64/Linux):
104 compiler_stats_range_field('bytes allocated', 360243576, 10)),
105 # expected value: 510938976 (amd64/OS X):
106 if_platform('x86_64-apple-darwin',
107 compiler_stats_num_field('bytes allocated', 490000000,
110 # expected value: x86/OS X: 9651948
111 compiler_stats_num_field('max_bytes_used', 9000000,
113 # expected value: 18188272 (amd64/Linux)
116 compiler_stats_num_field('max_bytes_used', 15000000,
118 # expected value: 20486256 (amd64/OS X):
119 if_platform('x86_64-apple-darwin',
120 compiler_stats_num_field('max_bytes_used', 20000000,
122 only_ways(['normal'])
128 [# expect_broken( 3064 ),
129 # expected value: 9 (x86/Linux 30-03-2011):
131 compiler_stats_range_field('peak_megabytes_allocated', 10, 14)),
132 # expected value: 18 (amd64/Linux):
134 compiler_stats_num_field('peak_megabytes_allocated', 20, 28)),
135 # expected value: 56380288 (x86/Linux) (28/6/2011)
137 compiler_stats_range_field('bytes allocated', 124952112, 10)),
138 # expected value: 73259544 (amd64/Linux) (28/6/2011):
140 compiler_stats_num_field('bytes allocated', 200000000,
142 # expected value: 2247016 (x86/Linux) (28/6/2011):
144 compiler_stats_range_field('max_bytes_used', 5511604, 10)),
145 # expected value: 4032024 (amd64/Linux, intree) (28/6/2011):
147 compiler_stats_num_field('max_bytes_used', 8000000,
149 only_ways(['normal'])
157 ['$MAKE -s --no-print-directory T4007'])
160 [expect_broken(5030),
161 # expected value: 449368924 (x86/Linux)
163 compiler_stats_range_field('bytes allocated', 196457520, 10)),
164 # expected value: 346750856 (amd64/Linux):
166 compiler_stats_num_field('bytes allocated', 300000000,
168 only_ways(['normal'])
171 ['-fcontext-stack=300'])
174 [if_wordsize(32, # sample from x86/Linux
175 compiler_stats_range_field('bytes allocated', 392904228, 10)),
176 # expected value: 774,595,008 (amd64/Linux):
178 compiler_stats_num_field('bytes allocated', 600000000,
180 only_ways(['normal'])
188 compiler_stats_range_field('bytes allocated', 274000576, 10)),
189 # expected value: 587079016 (amd64/Linux):
191 compiler_stats_num_field('bytes allocated', 540000000,
193 only_ways(['normal']),
199 [ only_ways(['normal']), # no optimisation for this one
200 # expected value: 175,569,928 (x86/Linux)
202 compiler_stats_num_field('bytes allocated', 125000000,
204 # sample: 349263216 (amd64/Linux)
206 compiler_stats_range_field('bytes allocated', 349263216, 10))
211 [ only_ways(['normal']), # no optimisation for this one
212 # sample from x86/Linux
214 compiler_stats_range_field('bytes allocated', 296657384, 10)),
216 compiler_stats_range_field('bytes allocated', 585521080, 10))
221 [ only_ways(['normal']), # no optimisation for this one
222 # sample from x86/Linux
224 compiler_stats_range_field('bytes allocated', 213380256, 10)),
226 compiler_stats_range_field('bytes allocated', 418306336, 10))
231 [ only_ways(['normal']),
232 if_wordsize(32, # sample from x86/Linux
233 compiler_stats_range_field('bytes allocated', 1682508520, 10)),
235 compiler_stats_range_field('bytes allocated', 3361296144, 10))
240 [ only_ways(['normal']),
241 if_wordsize(32, # sample from x86/Linux
242 compiler_stats_range_field('bytes allocated', 40000000, 10)),
244 # sample: 3926235424 (amd64/Linux, 15/2/2012)
246 compiler_stats_range_field('bytes allocated', 79110184, 10))
248 compile_fail,['-fcontext-stack=50'])