-
Enhancement
-
Resolution: Won't Fix
-
P4
-
9
In JDK-8077144 we noticed that a large part of startup is spent in initializing the concurrent mark data structures.
This is because they are huge. It might be advantageous to
- try to allocate them more lazily so that not all memory (or reservation) is actually used). A large part of the heap consists of young gen, where no mark bitmap(s) are required.
Also, most likely, not all threads touch the bitmaps for all memory.
- allow better blocking of the data structures so that the can be (un-)committed more easily on a region basis.
- share some memory between threads after all (or only allow particular threads access to particular memory areas)
This is because they are huge. It might be advantageous to
- try to allocate them more lazily so that not all memory (or reservation) is actually used). A large part of the heap consists of young gen, where no mark bitmap(s) are required.
Also, most likely, not all threads touch the bitmaps for all memory.
- allow better blocking of the data structures so that the can be (un-)committed more easily on a region basis.
- share some memory between threads after all (or only allow particular threads access to particular memory areas)
- relates to
-
JDK-8077144 Concurrent mark initialization takes too long
-
- Closed
-
-
JDK-8067500 ConcurrentMark::abort() is excessively slow
-
- Closed
-