RFR: 8324241: Always record evol_method deps to avoid excessive method flushing [v2]

Volker Simonis simonis at openjdk.org
Tue Jan 23 16:52:31 UTC 2024


On Tue, 23 Jan 2024 10:06:34 GMT, Aleksey Shipilev <shade at openjdk.org> wrote:

>> Volker Simonis has updated the pull request incrementally with one additional commit since the last revision:
>> 
>>   Guard the feature with a diagnostic option and update the comments in the code
>
> src/hotspot/share/prims/jvmtiRedefineClasses.cpp line 4078:
> 
>> 4076: void VM_RedefineClasses::flush_dependent_code() {
>> 4077:   assert(SafepointSynchronize::is_at_safepoint(), "sanity check");
>> 4078:   assert(AlwaysRecordEvolDependencies ? JvmtiExport::all_dependencies_are_recorded() : true, "sanity check");
> 
> This is just "assert all dependencies are recorded, unless we specifically requested not to do so", right?
> 
> 
> assert(JvmtiExport::all_dependencies_are_recorded() || !AlwaysRecordEvolDependencies, "sanity check");

Yes that's true (I must confess I had to use a truth table to verify it :) I'll take your version tough, because I thinks it's simpler to understand. Do you have other assertions in mind (also see my answer to Dean above)?

-------------

PR Review Comment: https://git.openjdk.org/jdk/pull/17509#discussion_r1463608499


More information about the hotspot-compiler-dev mailing list