RFR: 8204554: JFR TLAB tracing broken after 8202776
Erik Österlund
erik.osterlund at oracle.com
Thu Jun 7 14:27:24 UTC 2018
Hi,
The recent allocation path modularization (8202776) broke JFR TLAB
sampling. This was discovered in tier 5 testing.
The problem is that there was previously an early exit TLAB path, that
should not run the tracing code when not returning NULL, and a
mem_allocate call that should run the tracing code when not returning
NULL. However, these paths were joined in a virtual member function,
making them look the same to the tracing code, which caused the non-TLAB
tracing code to be run on TLAB allocations as well.
The solution I propose is to move the TLAB tracing code into the new
virtual member function. It seems that whatever GC overrides this code,
should also decide what to do about the tracing code there anyway.
Webrev:
http://cr.openjdk.java.net/~eosterlund/8204554/webrev.00/
Bug:
https://bugs.openjdk.java.net/browse/JDK-8204554
I have run failing tests locally to verify they have been fixed with the
proposed patch. I am now running hs-tier1-3 as well, but am waiting for
the results.
Thanks,
/Erik
More information about the hotspot-dev
mailing list