RFR: 8260250: Duplicate check in DebugInformationRecorder::recorders_frozen
Igor Veresov
iveresov at openjdk.java.net
Fri Jan 22 01:47:28 UTC 2021
On Thu, 21 Jan 2021 18:43:26 GMT, Aleksey Shipilev <shade at openjdk.org> wrote:
> SonarCloud instance reports the bug here:
> Identical sub-expressions on both sides of operator "||".
>
> bool DebugInformationRecorder::recorders_frozen() {
> return _oop_recorder->is_complete() || _oop_recorder->is_complete();
> }
>
> It seems to be this way since JDK-6964458. I don't see why it is this way. I think the intent was to check and freeze these two recorders:
>
> class OopRecorder : public ResourceObj {
> private:
> ValueRecorder<jobject> _oops;
> ValueRecorder<Metadata*> _metadata;
>
> ...but they are in `OopRecorder` already, and so we already get what we want with a single call:
>
> #ifdef ASSERT
> bool is_complete() {
> assert(_oops.is_complete() == _metadata.is_complete(), "must agree");
> return _oops.is_complete();
> }
> #endif
Marked as reviewed by iveresov (Reviewer).
-------------
PR: https://git.openjdk.java.net/jdk/pull/2187
More information about the hotspot-compiler-dev
mailing list