Integrated: 8260250: Duplicate check in DebugInformationRecorder::recorders_frozen

Aleksey Shipilev shade at openjdk.java.net
Fri Jan 22 17:22:41 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

This pull request has now been integrated.

Changeset: c5ad713e
Author:    Aleksey Shipilev <shade at openjdk.org>
URL:       https://git.openjdk.java.net/jdk/commit/c5ad713e
Stats:     1 line in 1 file changed: 0 ins; 0 del; 1 mod

8260250: Duplicate check in DebugInformationRecorder::recorders_frozen

Reviewed-by: iveresov, thartmann

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

PR: https://git.openjdk.java.net/jdk/pull/2187


More information about the hotspot-compiler-dev mailing list