-
Bug
-
Resolution: Fixed
-
P2
-
1.4.0, 1.4.2
-
04
-
generic, x86
-
solaris_8, windows_2000
Issue | Fix Version | Assignee | Priority | Status | Resolution | Resolved In Build |
---|---|---|---|---|---|---|
JDK-2054715 | 5.0 | Neal Gafter | P2 | Resolved | Fixed | b30 |
For large inheritance hierarchies, javac appears to require something like
exponential time to compile. This isn't exactly a bug in the sense of
incorrect behavior, but it isn't very nice either. On the other hand,
fixing this may well make the common case more expensive.
interface A {
void f();
}
interface B extends A {
void f();
}
interface C extends A, B {}
interface D extends B, C {}
interface E extends C, D {}
interface F extends D, E {}
interface G extends E, F {}
interface H extends F, G {}
interface I extends G, H {}
interface J extends H, I {}
interface K extends I, J {}
interface L extends J, K {}
interface M extends K, L {}
interface N extends L, M {}
interface O extends M, N {}
interface P extends N, O {}
interface Q extends O, P {}
interface R extends P, Q {}
interface S extends Q, R {}
class T {
void f(S o) {
o.f();
}
}
exponential time to compile. This isn't exactly a bug in the sense of
incorrect behavior, but it isn't very nice either. On the other hand,
fixing this may well make the common case more expensive.
interface A {
void f();
}
interface B extends A {
void f();
}
interface C extends A, B {}
interface D extends B, C {}
interface E extends C, D {}
interface F extends D, E {}
interface G extends E, F {}
interface H extends F, G {}
interface I extends G, H {}
interface J extends H, I {}
interface K extends I, J {}
interface L extends J, K {}
interface M extends K, L {}
interface N extends L, M {}
interface O extends M, N {}
interface P extends N, O {}
interface Q extends O, P {}
interface R extends P, Q {}
interface S extends Q, R {}
class T {
void f(S o) {
o.f();
}
}
- backported by
-
JDK-2054715 javac requires exponential time to attribute methods in a large hierarchy
-
- Resolved
-
- duplicates
-
JDK-4890722 compile time increases exponentially when extending from many interfaces
-
- Closed
-