Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
* profile g1 barrier filters, putfield version * implement C1 profili…
…ng code * only actually do counter updates for oop stores * pass through counters to c2 barrier to generate code based on results * re-enable use of non-G1 collectors :D * swap null and same-region check if both needed and the former is more discriminating * move profiling to reference write instead of bool write (oops) * fix compilation errors; barrier_data() is examined for != 0 a lot, but we added additional flags to it... :( Fixes crashes * experimental (UseNewCode2): dirty the young gen cards on TLAB allocation, see if this changes statistics significantly... * experimental (UseNewCode3): change cost estimations for loop unrolling to #instructions (which is ~ C2 nodes in the fast path) * some tests with switching same-region and null check * add missing file * first (incomplete) attempt at handling aastore * aastore should work now; but not a lot of methods get a methoddata? * TraceByteCodes also prints existing profile data * remove debug code * some changes, trying to find crash reason * fix issue with c2 compiler coming across CombinedData and the existing code doing random typecasts which do not apply * enable (buggy) from-young check using XXXDoYoungPreDirty using pre-dirtied young gen cards * -XX:-G1UseConcurrentRefinement disables barrier filters (this is arbitrary) * use UseNewCode3 to not generate any barrier filters instead of tying it to G1UseConcRefinement since they are independent * post barrier costs based on actual generated barrier parts * change pre-barrier costs to align with post barrier, use fast path only for determining its cost * optimize barrier costs * aarch64 initial not working bring-up * fix UseNewCode3 path, i.e. generation of no barrier filters at all. Only skipped them for nmethods with profiling information, not everything.
- Loading branch information