-
Enhancement
-
Resolution: Fixed
-
P3
-
9, 10
-
b25
Consider the following hierarchy:
interface I1 { public int m(); }
abstract class C1 implements I1 {}
class C2 extends C1 { public int m() { return 0; }}
Call site: invokevirtual C1.m() C2
The call site is monomorphic (C2.m()), but inlining during C1 compilation fails with the following message:
2217 1 b 1 jsr292.DevirtIntfMethod::test (5 bytes)
@ 1 jsr292.DevirtIntfMethod$I1::m (0 bytes) not inlineable
interface I1 { public int m(); }
abstract class C1 implements I1 {}
class C2 extends C1 { public int m() { return 0; }}
Call site: invokevirtual C1.m() C2
The call site is monomorphic (C2.m()), but inlining during C1 compilation fails with the following message:
2217 1 b 1 jsr292.DevirtIntfMethod::test (5 bytes)
@ 1 jsr292.DevirtIntfMethod$I1::m (0 bytes) not inlineable
- is blocked by
-
JDK-8267806 C1: Relax inlining checks for not yet initialized classes
- Resolved
-
JDK-8267807 C2: Downcast receiver to target holder during inlining
- Resolved
- relates to
-
JDK-8269664 CTW: guarantee(NULL == (void *)check_unique_concrete_method(ctxk, fm)) failed: verify dep
- Closed
-
JDK-8036580 CHA: Improve default method support
- Resolved
(1 links to)