RFR: 8204554: JFR TLAB tracing broken after 8202776
erik.osterlund at oracle.com
Thu Jun 7 14:57:14 UTC 2018
Thanks for the review.
StefanK thought it would be nicer to move the outside of TLAB path into
a new function. So I did that. Hope you agree that is a good idea. If
you want to override that behaviour you can still override obj_allocate_raw.
Checked again that tests pass now, and it passes.
On 2018-06-07 16:41, Roman Kennke wrote:
> Hi Erik,
>> 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.
> This looks good to me. Thank you!
More information about the hotspot-dev