Low-Overhead Heap Profiling

Staffan Larsen staffan.larsen at oracle.com
Tue Aug 4 11:04:00 UTC 2015


Sorry for being away for so long.

If memory serves me right then the current AllocObjectInNewTLAB JFR event was written as a way to quickly get some allocation profiling information with a minimum of VM changes. It probably also carried over to Hotspot from JRockit. I agree that we can and should collect better information than what that event does. 

I like the approach of instrumenting the interpreter and compiler to do the sampling. I had thought it would be a lot of work to do it and was reluctant to go down that path. If the work is already done and Jeremy has maintained it for a few years without great problems, I think we should look at bringing it in. I am not worried about the overhead of a decrement and a compare in the allocation path, but of course we should benchmark that.

It wasn’t clear to me from the discussion how (or if) this was being exposed to end users. Was the proposal to just have the native entry points in the VM and have these be used by various agents? Would this be part of JVMTI?

I think a draft JEP would be the logical next step and make it easier for us all to discuss what exactly the proposal should contain. Also, let’s not forget the need for tests for the feature.


More information about the hotspot-gc-dev mailing list