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