Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(233)

Issue 769263002: Add support for enabling DCHECKs in release mode (Closed)

Created:
6 years ago by jochen (gone - plz use gerrit)
Modified:
6 years ago
Reviewers:
Jakob Kummerow
CC:
Ken Russell (switch to Gerrit), v8-dev
Base URL:
https://chromium.googlesource.com/v8/v8.git@master
Project:
v8
Visibility:
Public.

Description

Add support for enabling DCHECKs in release mode When compiling with the macro DCHECK_ALWAYS_ON defined, DCHECKs and supporting code gets compiled and enabled. This increases test coverage for chromium release buildbots Most of this patch was contributed by Ken Russell <kbr@chromium.org>; BUG=v8:3731 LOG=y R=jkummerow@chromium.org

Patch Set 1 #

Patch Set 2 : updates #

Total comments: 10

Patch Set 3 : updates #

Unified diffs Side-by-side diffs Delta from patch set Stats (+214 lines, -203 lines) Patch
M src/api.cc View 2 chunks +2 lines, -2 lines 0 comments Download
M src/arm/codegen-arm.cc View 1 chunk +1 line, -1 line 0 comments Download
M src/arm64/codegen-arm64.cc View 1 chunk +1 line, -1 line 0 comments Download
M src/assembler.h View 2 chunks +2 lines, -2 lines 0 comments Download
M src/assembler.cc View 5 chunks +5 lines, -5 lines 0 comments Download
M src/assert-scope.h View 2 chunks +5 lines, -6 lines 0 comments Download
M src/base/logging.h View 2 chunks +9 lines, -3 lines 0 comments Download
M src/base/platform/elapsed-timer.h View 4 chunks +4 lines, -4 lines 0 comments Download
M src/base/platform/mutex.h View 2 chunks +4 lines, -4 lines 0 comments Download
M src/base/platform/mutex.cc View 5 chunks +5 lines, -5 lines 0 comments Download
M src/bignum.cc View 1 chunk +1 line, -1 line 0 comments Download
M src/builtins.cc View 1 chunk +1 line, -1 line 0 comments Download
M src/cached-powers.cc View 1 chunk +1 line, -1 line 0 comments Download
M src/codegen.h View 1 chunk +1 line, -1 line 0 comments Download
M src/compiler/ast-graph-builder.h View 1 chunk +1 line, -1 line 0 comments Download
M src/compiler/ast-graph-builder.cc View 1 chunk +1 line, -1 line 0 comments Download
M src/compiler/register-allocator.h View 1 chunk +1 line, -1 line 0 comments Download
M src/compiler/register-allocator.cc View 1 chunk +1 line, -1 line 0 comments Download
M src/compiler/scheduler.cc View 1 1 chunk +1 line, -1 line 0 comments Download
M src/contexts.h View 1 chunk +1 line, -1 line 0 comments Download
M src/contexts.cc View 1 chunk +1 line, -1 line 0 comments Download
M src/deoptimizer.h View 1 chunk +2 lines, -2 lines 0 comments Download
M src/deoptimizer.cc View 2 chunks +7 lines, -7 lines 0 comments Download
M src/flag-definitions.h View 1 2 chunks +6 lines, -6 lines 0 comments Download
M src/frames.h View 1 chunk +1 line, -1 line 0 comments Download
M src/frames.cc View 3 chunks +3 lines, -3 lines 0 comments Download
M src/full-codegen.h View 1 chunk +2 lines, -2 lines 0 comments Download
M src/full-codegen.cc View 2 chunks +2 lines, -2 lines 0 comments Download
M src/handles.h View 2 chunks +3 lines, -3 lines 0 comments Download
M src/handles.cc View 2 chunks +2 lines, -2 lines 0 comments Download
M src/handles-inl.h View 1 chunk +1 line, -1 line 0 comments Download
M src/heap/mark-compact.h View 4 chunks +3 lines, -11 lines 0 comments Download
M src/heap/mark-compact.cc View 1 8 chunks +8 lines, -8 lines 0 comments Download
M src/heap/spaces.h View 3 chunks +3 lines, -3 lines 0 comments Download
M src/heap/spaces.cc View 1 chunk +1 line, -1 line 0 comments Download
M src/heap/store-buffer.cc View 1 chunk +1 line, -1 line 0 comments Download
M src/hydrogen.h View 1 5 chunks +5 lines, -5 lines 0 comments Download
M src/hydrogen.cc View 1 9 chunks +9 lines, -9 lines 0 comments Download
M src/hydrogen-environment-liveness.h View 1 chunk +1 line, -1 line 0 comments Download
M src/hydrogen-environment-liveness.cc View 1 chunk +1 line, -1 line 0 comments Download
M src/hydrogen-flow-engine.h View 3 chunks +9 lines, -9 lines 0 comments Download
M src/hydrogen-instructions.h View 1 15 chunks +15 lines, -15 lines 0 comments Download
M src/hydrogen-instructions.cc View 7 chunks +8 lines, -8 lines 0 comments Download
M src/ia32/codegen-ia32.cc View 1 chunk +1 line, -1 line 0 comments Download
M src/ic/ic.h View 1 chunk +1 line, -1 line 0 comments Download
M src/isolate.h View 4 chunks +5 lines, -5 lines 0 comments Download
M src/isolate.cc View 4 chunks +4 lines, -4 lines 0 comments Download
M src/json-parser.h View 2 chunks +2 lines, -2 lines 0 comments Download
M src/layout-descriptor.h View 1 chunk +1 line, -1 line 0 comments Download
M src/lithium-allocator.h View 1 chunk +1 line, -1 line 0 comments Download
M src/lithium-allocator.cc View 1 chunk +1 line, -1 line 0 comments Download
M src/mips/codegen-mips.cc View 1 1 chunk +1 line, -1 line 0 comments Download
M src/mips64/codegen-mips64.cc View 1 chunk +1 line, -1 line 0 comments Download
M src/objects.h View 1 4 chunks +4 lines, -4 lines 0 comments Download
M src/objects.cc View 1 3 chunks +3 lines, -3 lines 0 comments Download
M src/objects-debug.cc View 1 2 7 chunks +14 lines, -2 lines 0 comments Download
M src/optimizing-compiler-thread.h View 3 chunks +3 lines, -3 lines 0 comments Download
M src/optimizing-compiler-thread.cc View 2 chunks +2 lines, -2 lines 0 comments Download
M src/parser.h View 1 chunk +1 line, -1 line 0 comments Download
M src/parser.cc View 2 chunks +6 lines, -4 lines 0 comments Download
M src/ppc/codegen-ppc.cc View 1 chunk +1 line, -1 line 0 comments Download
M src/runtime/runtime-strings.cc View 3 chunks +3 lines, -3 lines 0 comments Download
M src/scanner-character-streams.cc View 1 chunk +1 line, -1 line 0 comments Download
M src/string-stream.h View 1 chunk +1 line, -1 line 0 comments Download
M src/string-stream.cc View 1 chunk +1 line, -1 line 0 comments Download
M src/transitions.h View 1 chunk +1 line, -1 line 0 comments Download
M src/utils.h View 1 chunk +1 line, -1 line 0 comments Download
M src/x64/assembler-x64.cc View 1 chunk +1 line, -1 line 0 comments Download
M src/x64/codegen-x64.cc View 1 chunk +1 line, -1 line 0 comments Download
M src/x64/deoptimizer-x64.cc View 2 chunks +2 lines, -2 lines 0 comments Download
M src/x64/full-codegen-x64.cc View 5 chunks +5 lines, -5 lines 0 comments Download
M src/x64/macro-assembler-x64.h View 1 1 chunk +1 line, -1 line 0 comments Download
M src/x64/macro-assembler-x64.cc View 1 1 chunk +1 line, -1 line 0 comments Download
M src/x87/codegen-x87.cc View 1 chunk +1 line, -1 line 0 comments Download

Messages

Total messages: 3 (1 generated)
jochen (gone - plz use gerrit)
ptal
6 years ago (2014-12-03 09:39:58 UTC) #2
Jakob Kummerow
6 years ago (2014-12-03 10:53:53 UTC) #3
LGTM with some comments.

https://codereview.chromium.org/769263002/diff/20001/src/assembler.cc
File src/assembler.cc (right):

https://codereview.chromium.org/769263002/diff/20001/src/assembler.cc#newcode477
src/assembler.cc:477: #if DCHECK_IS_ON
nit: just drop this #if

https://codereview.chromium.org/769263002/diff/20001/src/codegen.h
File src/codegen.h (right):

https://codereview.chromium.org/769263002/diff/20001/src/codegen.h#newcode172
src/codegen.h:172: #ifdef DEBUG
This is gonna cause arm64 compile errors (cf. codegen-arm64.cc).

https://codereview.chromium.org/769263002/diff/20001/src/handles-inl.h
File src/handles-inl.h (right):

https://codereview.chromium.org/769263002/diff/20001/src/handles-inl.h#newcod...
src/handles-inl.h:155: #ifdef DEBUG
Forgot this one? Declaration in handles.h would need updating too.

https://codereview.chromium.org/769263002/diff/20001/src/heap/mark-compact.cc
File src/heap/mark-compact.cc (right):

https://codereview.chromium.org/769263002/diff/20001/src/heap/mark-compact.cc...
src/heap/mark-compact.cc:1301: #if DCHECK_IS_ON
just drop this #if

https://codereview.chromium.org/769263002/diff/20001/src/lithium-allocator.cc
File src/lithium-allocator.cc (right):

https://codereview.chromium.org/769263002/diff/20001/src/lithium-allocator.cc...
src/lithium-allocator.cc:68: #ifdef DEBUG
forgotten?

https://codereview.chromium.org/769263002/diff/20001/src/lithium-allocator.cc...
src/lithium-allocator.cc:81: bool LiveRange::HasOverlap(UseInterval* target)
const {
This is dead code. Delete it while you're here, along with its declaration in
the header file. Please also delete the copy in
compiler/register-allocator.{h,cc}.

https://codereview.chromium.org/769263002/diff/20001/src/lithium-allocator.cc...
src/lithium-allocator.cc:1333: #ifdef DEBUG
forgotten?

https://codereview.chromium.org/769263002/diff/20001/src/lithium-allocator.cc...
src/lithium-allocator.cc:2152: #ifdef DEBUG
forgotten?

https://codereview.chromium.org/769263002/diff/20001/src/lithium-allocator.cc...
src/lithium-allocator.cc:2188: #ifdef DEBUG
forgotten?

https://codereview.chromium.org/769263002/diff/20001/src/objects.cc
File src/objects.cc (right):

https://codereview.chromium.org/769263002/diff/20001/src/objects.cc#newcode1071
src/objects.cc:1071: #endif                      // ENABLE_SLOW_DCHECKS
nit: does clang-format stop being stupid when you add an empty line after this?
(again below)

Powered by Google App Engine
This is Rietveld 408576698