You are viewing a plain text version of this content. The canonical link for it is here.
Posted to reviews@impala.apache.org by "Daniel Becker (Code Review)" <ge...@cloudera.org> on 2023/04/24 12:17:47 UTC

[Impala-ASF-CR] IMPALA-12086: Fix BitUtil::CountLeadingZeros for zero

Daniel Becker has uploaded this change for review. ( http://gerrit.cloudera.org:8080/19792


Change subject: IMPALA-12086: Fix BitUtil::CountLeadingZeros for zero
......................................................................

IMPALA-12086: Fix BitUtil::CountLeadingZeros for zero

BitUtil::CountLeadingZeros() uses _builtin_clz() and _builtin_clzll() to
return the number of leading zeros in a number. Calling these functions
with 0 is undefined.

This change introduces a check in CountLeadingZeros() to only call these
functions if the argument is non-zero.

Also makes CountLeadingZeros() constexpr and restricts it to type sizes
that can actually be handled by the function.

Testing:
 - Added a test for CountLeadingZeros() in bit-util-test.cc

Change-Id: I0ae3d84c5c25871388155747f91c51162c1a0590
---
M be/src/util/arithmetic-util.h
M be/src/util/bit-util-test.cc
M be/src/util/bit-util.h
3 files changed, 53 insertions(+), 2 deletions(-)



  git pull ssh://gerrit.cloudera.org:29418/Impala-ASF refs/changes/92/19792/1
-- 
To view, visit http://gerrit.cloudera.org:8080/19792
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-Project: Impala-ASF
Gerrit-Branch: master
Gerrit-MessageType: newchange
Gerrit-Change-Id: I0ae3d84c5c25871388155747f91c51162c1a0590
Gerrit-Change-Number: 19792
Gerrit-PatchSet: 1
Gerrit-Owner: Daniel Becker <da...@cloudera.com>

[Impala-ASF-CR] IMPALA-12086: Fix BitUtil::CountLeadingZeros for zero

Posted by "Impala Public Jenkins (Code Review)" <ge...@cloudera.org>.
Impala Public Jenkins has posted comments on this change. ( http://gerrit.cloudera.org:8080/19792 )

Change subject: IMPALA-12086: Fix BitUtil::CountLeadingZeros for zero
......................................................................


Patch Set 1:

Build Successful 

https://jenkins.impala.io/job/gerrit-code-review-checks/12847/ : Initial code review checks passed. Use gerrit-verify-dryrun-external or gerrit-verify-dryrun to run full precommit tests.


-- 
To view, visit http://gerrit.cloudera.org:8080/19792
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-Project: Impala-ASF
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: I0ae3d84c5c25871388155747f91c51162c1a0590
Gerrit-Change-Number: 19792
Gerrit-PatchSet: 1
Gerrit-Owner: Daniel Becker <da...@cloudera.com>
Gerrit-Reviewer: Impala Public Jenkins <im...@cloudera.com>
Gerrit-Reviewer: Noemi Pap-Takacs <np...@cloudera.com>
Gerrit-Reviewer: Peter Rozsa <pr...@cloudera.com>
Gerrit-Comment-Date: Mon, 24 Apr 2023 12:39:10 +0000
Gerrit-HasComments: No

[Impala-ASF-CR] IMPALA-12086: Fix BitUtil::CountLeadingZeros for zero

Posted by "Csaba Ringhofer (Code Review)" <ge...@cloudera.org>.
Csaba Ringhofer has posted comments on this change. ( http://gerrit.cloudera.org:8080/19792 )

Change subject: IMPALA-12086: Fix BitUtil::CountLeadingZeros for zero
......................................................................


Patch Set 2: Code-Review+2

(1 comment)

http://gerrit.cloudera.org:8080/#/c/19792/1/be/src/util/bit-util.h
File be/src/util/bit-util.h:

http://gerrit.cloudera.org:8080/#/c/19792/1/be/src/util/bit-util.h@313
PS1, Line 313: CHAR_BIT
> We use CHAR_BIT in the 'CountTrailingZeros()' functions above, starting fro
ack



-- 
To view, visit http://gerrit.cloudera.org:8080/19792
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-Project: Impala-ASF
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: I0ae3d84c5c25871388155747f91c51162c1a0590
Gerrit-Change-Number: 19792
Gerrit-PatchSet: 2
Gerrit-Owner: Daniel Becker <da...@cloudera.com>
Gerrit-Reviewer: Csaba Ringhofer <cs...@cloudera.com>
Gerrit-Reviewer: Daniel Becker <da...@cloudera.com>
Gerrit-Reviewer: Impala Public Jenkins <im...@cloudera.com>
Gerrit-Reviewer: Noemi Pap-Takacs <np...@cloudera.com>
Gerrit-Reviewer: Peter Rozsa <pr...@cloudera.com>
Gerrit-Comment-Date: Tue, 25 Apr 2023 10:42:01 +0000
Gerrit-HasComments: Yes

[Impala-ASF-CR] IMPALA-12086: Fix BitUtil::CountLeadingZeros for zero

Posted by "Impala Public Jenkins (Code Review)" <ge...@cloudera.org>.
Impala Public Jenkins has submitted this change and it was merged. ( http://gerrit.cloudera.org:8080/19792 )

Change subject: IMPALA-12086: Fix BitUtil::CountLeadingZeros for zero
......................................................................

IMPALA-12086: Fix BitUtil::CountLeadingZeros for zero

BitUtil::CountLeadingZeros() uses _builtin_clz() and _builtin_clzll() to
return the number of leading zeros in a number. Calling these functions
with 0 is undefined.

This change introduces a check in CountLeadingZeros() to only call these
functions if the argument is non-zero.

Also makes CountLeadingZeros() constexpr and restricts it to type sizes
that can actually be handled by the function.

Testing:
 - Added a test for CountLeadingZeros() in bit-util-test.cc

Change-Id: I0ae3d84c5c25871388155747f91c51162c1a0590
Reviewed-on: http://gerrit.cloudera.org:8080/19792
Reviewed-by: Impala Public Jenkins <im...@cloudera.com>
Tested-by: Impala Public Jenkins <im...@cloudera.com>
---
M be/src/util/arithmetic-util.h
M be/src/util/bit-util-test.cc
M be/src/util/bit-util.h
3 files changed, 53 insertions(+), 2 deletions(-)

Approvals:
  Impala Public Jenkins: Looks good to me, approved; Verified

-- 
To view, visit http://gerrit.cloudera.org:8080/19792
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-Project: Impala-ASF
Gerrit-Branch: master
Gerrit-MessageType: merged
Gerrit-Change-Id: I0ae3d84c5c25871388155747f91c51162c1a0590
Gerrit-Change-Number: 19792
Gerrit-PatchSet: 4
Gerrit-Owner: Daniel Becker <da...@cloudera.com>
Gerrit-Reviewer: Csaba Ringhofer <cs...@cloudera.com>
Gerrit-Reviewer: Daniel Becker <da...@cloudera.com>
Gerrit-Reviewer: Impala Public Jenkins <im...@cloudera.com>
Gerrit-Reviewer: Noemi Pap-Takacs <np...@cloudera.com>
Gerrit-Reviewer: Peter Rozsa <pr...@cloudera.com>

[Impala-ASF-CR] IMPALA-12086: Fix BitUtil::CountLeadingZeros for zero

Posted by "Daniel Becker (Code Review)" <ge...@cloudera.org>.
Daniel Becker has posted comments on this change. ( http://gerrit.cloudera.org:8080/19792 )

Change subject: IMPALA-12086: Fix BitUtil::CountLeadingZeros for zero
......................................................................


Patch Set 2:

(2 comments)

http://gerrit.cloudera.org:8080/#/c/19792/1/be/src/util/bit-util-test.cc
File be/src/util/bit-util-test.cc:

http://gerrit.cloudera.org:8080/#/c/19792/1/be/src/util/bit-util-test.cc@261
PS1, Line 261: 8;
> nit: I think that 8 would be clearer for most
Done


http://gerrit.cloudera.org:8080/#/c/19792/1/be/src/util/bit-util.h
File be/src/util/bit-util.h:

http://gerrit.cloudera.org:8080/#/c/19792/1/be/src/util/bit-util.h@313
PS1, Line 313: CHAR_BIT
> I would prefer 8
We use CHAR_BIT in the 'CountTrailingZeros()' functions above, starting from 288.



-- 
To view, visit http://gerrit.cloudera.org:8080/19792
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-Project: Impala-ASF
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: I0ae3d84c5c25871388155747f91c51162c1a0590
Gerrit-Change-Number: 19792
Gerrit-PatchSet: 2
Gerrit-Owner: Daniel Becker <da...@cloudera.com>
Gerrit-Reviewer: Csaba Ringhofer <cs...@cloudera.com>
Gerrit-Reviewer: Daniel Becker <da...@cloudera.com>
Gerrit-Reviewer: Impala Public Jenkins <im...@cloudera.com>
Gerrit-Reviewer: Noemi Pap-Takacs <np...@cloudera.com>
Gerrit-Reviewer: Peter Rozsa <pr...@cloudera.com>
Gerrit-Comment-Date: Tue, 25 Apr 2023 08:27:59 +0000
Gerrit-HasComments: Yes

[Impala-ASF-CR] IMPALA-12086: Fix BitUtil::CountLeadingZeros for zero

Posted by "Impala Public Jenkins (Code Review)" <ge...@cloudera.org>.
Impala Public Jenkins has posted comments on this change. ( http://gerrit.cloudera.org:8080/19792 )

Change subject: IMPALA-12086: Fix BitUtil::CountLeadingZeros for zero
......................................................................


Patch Set 3: Verified+1


-- 
To view, visit http://gerrit.cloudera.org:8080/19792
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-Project: Impala-ASF
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: I0ae3d84c5c25871388155747f91c51162c1a0590
Gerrit-Change-Number: 19792
Gerrit-PatchSet: 3
Gerrit-Owner: Daniel Becker <da...@cloudera.com>
Gerrit-Reviewer: Csaba Ringhofer <cs...@cloudera.com>
Gerrit-Reviewer: Daniel Becker <da...@cloudera.com>
Gerrit-Reviewer: Impala Public Jenkins <im...@cloudera.com>
Gerrit-Reviewer: Noemi Pap-Takacs <np...@cloudera.com>
Gerrit-Reviewer: Peter Rozsa <pr...@cloudera.com>
Gerrit-Comment-Date: Tue, 25 Apr 2023 17:53:33 +0000
Gerrit-HasComments: No

[Impala-ASF-CR] IMPALA-12086: Fix BitUtil::CountLeadingZeros for zero

Posted by "Impala Public Jenkins (Code Review)" <ge...@cloudera.org>.
Impala Public Jenkins has posted comments on this change. ( http://gerrit.cloudera.org:8080/19792 )

Change subject: IMPALA-12086: Fix BitUtil::CountLeadingZeros for zero
......................................................................


Patch Set 3:

Build started: https://jenkins.impala.io/job/gerrit-verify-dryrun/9253/ DRY_RUN=false


-- 
To view, visit http://gerrit.cloudera.org:8080/19792
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-Project: Impala-ASF
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: I0ae3d84c5c25871388155747f91c51162c1a0590
Gerrit-Change-Number: 19792
Gerrit-PatchSet: 3
Gerrit-Owner: Daniel Becker <da...@cloudera.com>
Gerrit-Reviewer: Csaba Ringhofer <cs...@cloudera.com>
Gerrit-Reviewer: Daniel Becker <da...@cloudera.com>
Gerrit-Reviewer: Impala Public Jenkins <im...@cloudera.com>
Gerrit-Reviewer: Noemi Pap-Takacs <np...@cloudera.com>
Gerrit-Reviewer: Peter Rozsa <pr...@cloudera.com>
Gerrit-Comment-Date: Tue, 25 Apr 2023 12:35:46 +0000
Gerrit-HasComments: No

[Impala-ASF-CR] IMPALA-12086: Fix BitUtil::CountLeadingZeros for zero

Posted by "Csaba Ringhofer (Code Review)" <ge...@cloudera.org>.
Csaba Ringhofer has posted comments on this change. ( http://gerrit.cloudera.org:8080/19792 )

Change subject: IMPALA-12086: Fix BitUtil::CountLeadingZeros for zero
......................................................................


Patch Set 1: Code-Review+1

(2 comments)

http://gerrit.cloudera.org:8080/#/c/19792/1/be/src/util/bit-util-test.cc
File be/src/util/bit-util-test.cc:

http://gerrit.cloudera.org:8080/#/c/19792/1/be/src/util/bit-util-test.cc@261
PS1, Line 261: CHAR_BIT
nit: I think that 8 would be clearer for most
lot of things in Impala rely by one byte having 8 bits


http://gerrit.cloudera.org:8080/#/c/19792/1/be/src/util/bit-util.h
File be/src/util/bit-util.h:

http://gerrit.cloudera.org:8080/#/c/19792/1/be/src/util/bit-util.h@313
PS1, Line 313: CHAR_BIT
I would prefer 8



-- 
To view, visit http://gerrit.cloudera.org:8080/19792
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-Project: Impala-ASF
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: I0ae3d84c5c25871388155747f91c51162c1a0590
Gerrit-Change-Number: 19792
Gerrit-PatchSet: 1
Gerrit-Owner: Daniel Becker <da...@cloudera.com>
Gerrit-Reviewer: Csaba Ringhofer <cs...@cloudera.com>
Gerrit-Reviewer: Impala Public Jenkins <im...@cloudera.com>
Gerrit-Reviewer: Noemi Pap-Takacs <np...@cloudera.com>
Gerrit-Reviewer: Peter Rozsa <pr...@cloudera.com>
Gerrit-Comment-Date: Mon, 24 Apr 2023 16:09:09 +0000
Gerrit-HasComments: Yes

[Impala-ASF-CR] IMPALA-12086: Fix BitUtil::CountLeadingZeros for zero

Posted by "Impala Public Jenkins (Code Review)" <ge...@cloudera.org>.
Impala Public Jenkins has posted comments on this change. ( http://gerrit.cloudera.org:8080/19792 )

Change subject: IMPALA-12086: Fix BitUtil::CountLeadingZeros for zero
......................................................................


Patch Set 2:

Build Successful 

https://jenkins.impala.io/job/gerrit-code-review-checks/12861/ : Initial code review checks passed. Use gerrit-verify-dryrun-external or gerrit-verify-dryrun to run full precommit tests.


-- 
To view, visit http://gerrit.cloudera.org:8080/19792
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-Project: Impala-ASF
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: I0ae3d84c5c25871388155747f91c51162c1a0590
Gerrit-Change-Number: 19792
Gerrit-PatchSet: 2
Gerrit-Owner: Daniel Becker <da...@cloudera.com>
Gerrit-Reviewer: Csaba Ringhofer <cs...@cloudera.com>
Gerrit-Reviewer: Daniel Becker <da...@cloudera.com>
Gerrit-Reviewer: Impala Public Jenkins <im...@cloudera.com>
Gerrit-Reviewer: Noemi Pap-Takacs <np...@cloudera.com>
Gerrit-Reviewer: Peter Rozsa <pr...@cloudera.com>
Gerrit-Comment-Date: Tue, 25 Apr 2023 08:49:04 +0000
Gerrit-HasComments: No

[Impala-ASF-CR] IMPALA-12086: Fix BitUtil::CountLeadingZeros for zero

Posted by "Daniel Becker (Code Review)" <ge...@cloudera.org>.
Daniel Becker has uploaded a new patch set (#2). ( http://gerrit.cloudera.org:8080/19792 )

Change subject: IMPALA-12086: Fix BitUtil::CountLeadingZeros for zero
......................................................................

IMPALA-12086: Fix BitUtil::CountLeadingZeros for zero

BitUtil::CountLeadingZeros() uses _builtin_clz() and _builtin_clzll() to
return the number of leading zeros in a number. Calling these functions
with 0 is undefined.

This change introduces a check in CountLeadingZeros() to only call these
functions if the argument is non-zero.

Also makes CountLeadingZeros() constexpr and restricts it to type sizes
that can actually be handled by the function.

Testing:
 - Added a test for CountLeadingZeros() in bit-util-test.cc

Change-Id: I0ae3d84c5c25871388155747f91c51162c1a0590
---
M be/src/util/arithmetic-util.h
M be/src/util/bit-util-test.cc
M be/src/util/bit-util.h
3 files changed, 53 insertions(+), 2 deletions(-)


  git pull ssh://gerrit.cloudera.org:29418/Impala-ASF refs/changes/92/19792/2
-- 
To view, visit http://gerrit.cloudera.org:8080/19792
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-Project: Impala-ASF
Gerrit-Branch: master
Gerrit-MessageType: newpatchset
Gerrit-Change-Id: I0ae3d84c5c25871388155747f91c51162c1a0590
Gerrit-Change-Number: 19792
Gerrit-PatchSet: 2
Gerrit-Owner: Daniel Becker <da...@cloudera.com>
Gerrit-Reviewer: Csaba Ringhofer <cs...@cloudera.com>
Gerrit-Reviewer: Impala Public Jenkins <im...@cloudera.com>
Gerrit-Reviewer: Noemi Pap-Takacs <np...@cloudera.com>
Gerrit-Reviewer: Peter Rozsa <pr...@cloudera.com>

[Impala-ASF-CR] IMPALA-12086: Fix BitUtil::CountLeadingZeros for zero

Posted by "Impala Public Jenkins (Code Review)" <ge...@cloudera.org>.
Impala Public Jenkins has posted comments on this change. ( http://gerrit.cloudera.org:8080/19792 )

Change subject: IMPALA-12086: Fix BitUtil::CountLeadingZeros for zero
......................................................................


Patch Set 3: Code-Review+2


-- 
To view, visit http://gerrit.cloudera.org:8080/19792
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-Project: Impala-ASF
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: I0ae3d84c5c25871388155747f91c51162c1a0590
Gerrit-Change-Number: 19792
Gerrit-PatchSet: 3
Gerrit-Owner: Daniel Becker <da...@cloudera.com>
Gerrit-Reviewer: Csaba Ringhofer <cs...@cloudera.com>
Gerrit-Reviewer: Daniel Becker <da...@cloudera.com>
Gerrit-Reviewer: Impala Public Jenkins <im...@cloudera.com>
Gerrit-Reviewer: Noemi Pap-Takacs <np...@cloudera.com>
Gerrit-Reviewer: Peter Rozsa <pr...@cloudera.com>
Gerrit-Comment-Date: Tue, 25 Apr 2023 12:35:45 +0000
Gerrit-HasComments: No