RFR: 8204554: JFR TLAB tracing broken after 8202776

Erik Österlund erik.osterlund at oracle.com
Thu Jun 7 14:27:24 UTC 2018


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.



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.


More information about the hotspot-dev mailing list