File: description.txt

package info (click to toggle)
openjdk-25 25.0.1%2B8-1~deb13u1
  • links: PTS, VCS
  • area: main
  • in suites: trixie
  • size: 825,408 kB
  • sloc: java: 5,585,680; cpp: 1,333,948; xml: 1,321,242; ansic: 488,034; asm: 404,003; objc: 21,088; sh: 15,106; javascript: 13,265; python: 8,319; makefile: 2,518; perl: 357; awk: 351; pascal: 103; exp: 83; sed: 72; jsp: 24
file content (604 lines) | stat: -rw-r--r-- 15,089 bytes parent folder | download | duplicates (19)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
Copyright (c) 2008, 2018, Oracle and/or its affiliates. All rights reserved.
DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.

This code is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License version 2 only, as
published by the Free Software Foundation.

This code is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
version 2 for more details (a copy is included in the LICENSE file that
accompanied this code).

You should have received a copy of the GNU General Public License version
2 along with this work; if not, write to the Free Software Foundation,
Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.

Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
or visit www.oracle.com if you need additional information or have any
questions.

* common/ArrayBounds

Checks whether the compiler makes incorrect array bounds removal optimizations.

* common/ArrayTests

Checks whether array stores and reads are correct for integral types and floating points.

* common/bounds

Makes sure that array bounds checking is enabled with the JIT on

* common/CEETest

Checks whether comparision operations work properly.

* common/collapse

Checks constatnt propagation facilities of the JIT compiler.

* common/CondExpr

Checks that code for conditional expressions is generated properly.

* common/deoptimization/test01
* common/deoptimization/test02
* common/deoptimization/test03
* common/deoptimization/test04
* common/deoptimization/test05
* common/deoptimization/test06
* common/deoptimization/test07
* common/deoptimization/test08

Check compiler deoptimization facilities.

* common/DivTest

Checks some special cases of divide operation.

* common/exception

This JIT buster test checks to see if a JIT doing register allocation
on a machine with a callees saves ABI for non-volatile registers can
get the exception handling correct. Intel and PowerPC are both such
machines.

* common/exceptiontest

Does exactly the same as common/exception

* common/ExcOpt

Tests exception handler inside optimizable loop and around it.

* common/FPCompare/TestFPBinop

Tests floating point binary operations.

* common/FPCompare/TestFPCompare

Test of floating point comparison.

* common/gen_math/Filtering
* common/gen_math/Loops_1
* common/gen_math/Loops_2
* common/gen_math/Loops_3
* common/gen_math/Loops_4
* common/gen_math/Loops_5
* common/gen_math/Loops_6
* common/gen_math/Loops_7
* common/gen_math/Matrix_3d
* common/gen_math/Summ

These tests check math preciction stuff.

* common/gen_math/ShortCircuitTest

A complete set of tests for the binary Java operators {&&, ||, &, |} to
ensure that (C-style) short circuit evaluation is used where required, and
also is not used where prohibited.  Checks has been constructed carefully to
be independent of the operators under scrutiny, so that passing these tests
constitutes validation of those operators.

* common/graph

The test checks the dynamic class creation and method invokation reflection features. A number of threads is created. They call
methods dynamically and recursively. Also, exceptions, thrown from the dynamically called methods are checked.

* common/inittest

Checks correctness of class initialization order.

* common/inittest2

Checks that JIT doesn't perform an initialization of class which is never used.

* common/inline001

This test is valid in JDK 1.1.4 and in prior JDKs.  It
ceased to work in JDK 1.2e.  The test relied on the JIT
to inline some final methods and to never inline non-final
methods.

* common/inline002

Look for inlined final methods in java.Math.  Do this by comparing
execution times against estimates of call overheads for various
method signatures.

The current (08/04/97) list of inlined methods is short:
    abs(float)
    abs(double)
    sqrt(double)  [i386 only]
If new methods are inlined or dropped from the list of inlined
codes, record this fact by changing the value of an element of the
array expectInline.  This is done in the method result().

This test will fail if the JIT is disabled.  There are two modes
of operation.  The first is to merely record a pass/fail for each
method tested.  This output should be machine independent and
suitable for a golden file.
  java -Djava.compiler=sunwjit inline002
The other mode is a report generation mode.  It reports the
number of iterations, call overhead in nanoseconds, and a judgement
as to whether a method was inlined or not.
  java -Djava.compiler=sunwjit inline002 -report

* common/inline003
* common/inline004

Check inlining of final methods.

* common/inline005

Checks correctness of evaluation order in inlined math functions (?).

* common/inline006
* common/inline007

Checks access to final class fields.

* common/JITSuite

Does exactly the same as common/inittest2

* common/jtest

Does some client-server communications via sockets. Not actually a JIT test!

* common/Linpack

Math presiction test.

* common/loops/arg01
* common/loops/arg03

Fill arrays in a loops and then makes a number of checks (?)

* common/loops/arg04

Checks correctness of interprocedural data flow analysis, tests for recognition of
loop independent dependences between statements in mutually exclusive regions, checks
global data flow analysis.

* common/loops/arg05

Checks loop vectorization stuff.

* common/loops/arg06

Checks statement reordering, loop distribution, partial loop vectorization, recurrence
in the middle of the loop.

* common/loops/arg07

Checks loop interchange, node splitting.

* common/loops/arg08

Checks scalar and array expansion.

* common/loops/arg09

Checks scalar and array expansion, control flow (loop with independent conditional).

* common/loops/arg10

Some control flow-related checks.

* common/loops/dec01
* common/loops/dec02
* common/loops/dec03
* common/loops/dec04
* common/loops/dec05
* common/loops/dec06
* common/loops/dec07
* common/loops/dec08
* common/loops/dec09
* common/loops/dec10
* common/loops/dec11

Some aritmetic operations within loops and a number of comparisions (?).

* common/loops/fuse1
* common/loops/fuse10
* common/loops/fuse101
* common/loops/fuse102
* common/loops/fuse103
* common/loops/fuse105
* common/loops/fuse106
* common/loops/fuse108
* common/loops/fuse11
* common/loops/fuse111
* common/loops/fuse113
* common/loops/fuse116
* common/loops/fuse117
* common/loops/fuse12
* common/loops/fuse13
* common/loops/fuse14
* common/loops/fuse16
* common/loops/fuse17
* common/loops/fuse18
* common/loops/fuse2
* common/loops/fuse3
* common/loops/fuse4
* common/loops/fuse5
* common/loops/fuse6
* common/loops/fuse8

Check correctness of loop fusion.

* common/loops/fuse107
* common/loops/fuse109
* common/loops/fuse15
* common/loops/fuse19
* common/loops/fuse7
* common/loops/fuse9

Construct a number of loops and make some calculations. These tests seems to be
incomplete (incorrectly translated from Fortran).

* common/loops/private1

Single dimensional private array, with no carried dependence in the inner
loop - simple subscripts.

* common/loops/private2

Single dimensional private array, with no carried dependence in the inner
loop - non-simple subscripts (test incomplete).

* common/loops/private3

Single dimensional private array, with no carried dependence
in the inner loop  (test incomplete).

* common/loops/private4

Loop with condionals, both arms of the conditional cover the entire array
which is private.

* common/loops/private5

Single dimensional private array, 2 inner loops; all uses of array in the 2nd loop are
covered by defs in the 1st one.

* common/loops/private6

Single dimensional private array; all uses of array in the inner loop are
covered by defs in the outer one.

* common/loops/private7

Single dimensional private array, 3 inner loops; all uses of array in the 3rd loop are
covered by defs in the 1st and 2nd one.

* common/loops/private8

Single dimensional private array, 3 inner loops; the defs of array in the 2nd loop cover
all the defs and uses within loops 2 and 3.

* common/loops/private9

Single dimensional private array, the two loops effectively cover the array.

* common/loops/private10

Single dimensional private array, the two asignments to the array in the inner loop
effectively cover the entire array.

* common/loops/private104

Loop with condionals. Both arms of the conditional cover the entire array.

* common/loops/private105

Single dimensional private array, 2 inner loops; all uses of array in the 2nd loop are
covered by defs in the 1st one.

* common/loops/private107

Single dimensional private array, 3 inner loops; all uses of array in the 3rd loop are
covered by defs in the 1st and 2nd one.

* common/loops/private109

Single dimensional private array, the two loops effectively cover the array.

* common/loops/private11

The two loops each cover disjoint triangular regions of the array. Together they
cover the entire array.

* common/loops/private110

Single dimensional private array, the two asignments to the array in the inner loop
effectively cover the entire array.

* common/loops/private111

The two loops each cover disjoint triangular regions of the array. Together they
cover the entire array.

* common/loops/private112
* common/loops/private113
* common/loops/private12
* common/loops/private13

Private array sections. Even though only a portion of the array is covered by the
definitions, but the uses are covered entirely by the defs in the array.

* common/loops/private117

Single dimensional private array, 2 inner loops; all uses of array in the 2nd loop are
covered by defs in the 1st one.

* common/loops/private118

Two dimensional private array and some loop unrolling made by hand.

* common/loops/private119

Two dimensional private array.

* common/loops/private120

Loop peeling before and after the loop.

* common/loops/private122

Two dimensional private array.

* common/loops/private123

Single dimensional private array; even though not all elements of the array are modified
in the inner loop, and all uses of array are covered.

* common/loops/private124

Two dimensional private array. Loop with condionals; both arms of the conditional cover
the entire array, there are uses in the either arm the are entirely covered.

* common/loops/private125

Two dimensional private array. Loop with condionals; the uses of the array outside the
conditional are not guaranteed to be covered entirely.

* common/loops/private126

Two dimensional array. Here array is not private, as one element is not covered in the loop.

* common/loops/private128

Two and single dimensional arrays.

* common/loops/private130

2 two dimensional and 1 single dimension array.

* common/loops/private133

Single dimensional private array, 2 inner loops.

* common/loops/private14

This is an involved test. The first j loop covers 1..m elements of the
1..n array. Since overindexing is prohibited, the compiler should assume
that 1..m is a subset of 1..n. In the k loop first m uses of the array
a() are covered by defs in the j loop. The next m+1..n iterations of the
loop do not have any uncovered uses. Therefore the array a() ought to be
a private array.

* common/loops/private15

Similar to common/loops/private14, but uses no conditionals.

* common/loops/private17

Single dimensional array, assuming no overindexing.

* common/loops/private18
* common/loops/private19
* common/loops/private20
* common/loops/private22

Single dimensional private array, 3 inner loops.

* common/loops/private21

3 inner loops, the 1st and 2nd loop together cover the entire array, and all the uses
of the array in the 3rd loop are covered.

* common/loops/private23

Private array, even though not all elements of the array are modified in inner loop,
and all uses of the array are covered.

* common/loops/private24

Conditional inside the loop, 2 inner loops in both arms.

* common/loops/private25

Conditional inside the loop, inner loops in both arms and one inner loop after
the conditional.

* common/loops/private26
* common/loops/private27
* common/loops/private28

Single dimensional private array, 3 inner loops.

* common/loops/private29

Single dimensional private array, 2 inner loops.

* common/loops/private30

Conditional inside the loop, inner loops in both arms and one inner loop before
the conditional.

* common/loops/private31

Conditional inside the loop, inner loop in both arms.

* common/loops/private32

2 loops, inner loop inside the 2nd one.

* common/loops/private33

Single dimensional private array, 2 inner loops.

* common/misctests/classes

No test found!

* common/misctests/clss14702

Checks that NullPointerException is thrown.

* common/misctests/FileViewer

Not a JIT test!

* common/misctests/Foo

Does nothing.

* common/misctests/fpustack

Not a JIT test!

* common/misctests/Jdk116JitProblem

The test illustrates a problem with the new JDK 1.1.6 JIT. The JIT compiler
included with JDK 1.1.6 takes forever to compile the transform() method, thereby
hanging up the virtual machine.

* common/misctests/JitBug

Symantec's JIT seems to optimize away important code. The test compiled using
the standard javac, demonstrates a bug in the JIT on NT4/sp3.

* common/misctests/JitBug1

Demonstrates yet another JIT bug.

* common/misctests/JitTest

Tests equals() method.

* common/misctests/NoHeader

Not a JIT test!

* common/misctests/noop

Not a JIT test!

* common/misctests/Pi

Not a JIT test!

* common/misctests/putfield00802

Tests NullPointerException. Should be removed (common/misctests/clss14702 is a better test).

* common/misctests/t5

Not a JIT test!

* common/misctests/testbug

If this test is run under JRE 1.1.6, it gets the following error: "A nonfatal internal
JIT (3.00.039(x)) error 'Unuse_LRU' hasoccu4rred in: 'testbug.dk ([BI)V': Interpreting method."

* common/misctests/whet

Not a JIT test!

* common/misctests/test.java

Not a JIT test!

* common/overflow

Test StackOverflowException.

* common/pat001

Tests arithmetic series.

* common/Peano

Computes factorials by using the Peano axioms only. Not a test!

* common/PrintProperties
* common/PrintThis

Not a JIT test!

* common/Robert

Tests some exception stuff

* common/Sleeper

Not a JIT test!

* common/tXXX

Do some arithmetic operations, but do not actually report results. Should be removed.

* common/testForBugs/4427606/TestDivByZero

Tests correctness of division by zero handling.

* common/testForBugs/4427606/Security
* common/testForBugs/4446672/TestThreadStart.java

Not a JIT test!

* common/testForBugs/CrashC1

Test for bug in C1.

* common/wide
* common/too_wide

Check for intermediate results that are too wide.

* common/TsdCase

performance benchmarks. Not a test!

* common/verifier/VerifyInitLocal

Makes sure verifier allows initialization of local fields.

* common/verifier/VerifyMergeStack

Makes sure verifier fails when two distinct types meet on operand stack.