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
|
/*
* Copyright (C) 2012 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
/**
* Create a hierarchy of interfaces to check if that overflows the LinearAlloc
* with iftable entries.
*/
public class Main {
interface A1 {}
interface A2 {}
interface A3 {}
interface A4 {}
interface A5 {}
interface B1 extends A1, A2, A3, A4, A5 {}
interface B2 extends A1, A2, A3, A4, A5 {}
interface B3 extends A1, A2, A3, A4, A5 {}
interface B4 extends A1, A2, A3, A4, A5 {}
interface B5 extends A1, A2, A3, A4, A5 {}
interface C1 extends B1, B2, B3, B4, B5 {}
interface C2 extends B1, B2, B3, B4, B5 {}
interface C3 extends B1, B2, B3, B4, B5 {}
interface C4 extends B1, B2, B3, B4, B5 {}
interface C5 extends B1, B2, B3, B4, B5 {}
interface D1 extends C1, C2, C3, C4, C5 {}
interface D2 extends C1, C2, C3, C4, C5 {}
interface D3 extends C1, C2, C3, C4, C5 {}
interface D4 extends C1, C2, C3, C4, C5 {}
interface D5 extends C1, C2, C3, C4, C5 {}
interface E1 extends D1, D2, D3, D4, D5 {}
interface E2 extends D1, D2, D3, D4, D5 {}
interface E3 extends D1, D2, D3, D4, D5 {}
interface E4 extends D1, D2, D3, D4, D5 {}
interface E5 extends D1, D2, D3, D4, D5 {}
interface F1 extends E1, E2, E3, E4, E5 {}
interface F2 extends E1, E2, E3, E4, E5 {}
interface F3 extends E1, E2, E3, E4, E5 {}
interface F4 extends E1, E2, E3, E4, E5 {}
interface F5 extends E1, E2, E3, E4, E5 {}
interface G1 extends F1, F2, F3, F4, F5 {}
interface G2 extends F1, F2, F3, F4, F5 {}
interface G3 extends F1, F2, F3, F4, F5 {}
interface G4 extends F1, F2, F3, F4, F5 {}
interface G5 extends F1, F2, F3, F4, F5 {}
interface H1 extends G1, G2, G3, G4, G5 {}
interface H2 extends G1, G2, G3, G4, G5 {}
interface H3 extends G1, G2, G3, G4, G5 {}
interface H4 extends G1, G2, G3, G4, G5 {}
interface H5 extends G1, G2, G3, G4, G5 {}
interface Z extends H1, H2, H3, H4, H5 {}
public static void main(String[] args) {
Z instance = new Z() {};
System.out.println("A new instance of Z was created successfully");
}
}
|