-
Bug
-
Resolution: Fixed
-
P2
-
1.3.1, 1.4.0
-
beta3
-
generic, sparc
-
solaris_2.5.1, solaris_8
Prefetching was added to key GC inner loops in Ladybird, raising
scavenge performance by >10% on ultra3. That code need to be brought
forward from Ladybird.
The disposition of 4453399 for Merlin should be resolved first; the way prefetching
was done in ladybird was ugly because of stability concerns. In particular,
the cloning of GC loops to prevent any performance penalty is probably
uncalled for if the prefetch is a simple relatively addressed leaf routine.
Additionally, the use of a .il file and ELF surgery might all be avoided.
The performance effect is significant enough that prefetching should be
added to Merlin whether or not atomics are overhauled. Without it,
some customers may experience a regression relative to Ladybird.
scavenge performance by >10% on ultra3. That code need to be brought
forward from Ladybird.
The disposition of 4453399 for Merlin should be resolved first; the way prefetching
was done in ladybird was ugly because of stability concerns. In particular,
the cloning of GC loops to prevent any performance penalty is probably
uncalled for if the prefetch is a simple relatively addressed leaf routine.
Additionally, the use of a .il file and ELF surgery might all be avoided.
The performance effect is significant enough that prefetching should be
added to Merlin whether or not atomics are overhauled. Without it,
some customers may experience a regression relative to Ladybird.
- duplicates
-
JDK-4453399 Atomic instruction code should be overhauled
-
- Closed
-
- relates to
-
JDK-4453420 Resolution of v8/v9 should be changed
-
- Closed
-