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

Issue 1935: New static flags system (Closed)

Created:
12 years, 3 months ago by Dean McNamee
Modified:
9 years, 7 months ago
Reviewers:
lars.bak, Kasper Lund
CC:
v8-dev
Visibility:
Public.

Description

This is a new static flag system, designed to have all flags in a central place, and compiled into the binary without requiring static constructors for registration. All flags are moved out of the specific modules and into flags.defs, with different sections for debug, release, etc. The flag variables are always defined. For example, a debug flag in release mode still exists, but is read only and set to the default value.

Patch Set 1 #

Patch Set 2 : Diff against bleeding_edge. #

Patch Set 3 : Merge again. #

Patch Set 4 : Merge. #

Patch Set 5 : Merge, again. #

Unified diffs Side-by-side diffs Delta from patch set Stats (+556 lines, -788 lines) Patch
M src/assembler-arm.cc View 1 3 chunks +0 lines, -13 lines 0 comments Download
M src/assembler-ia32.cc View 1 3 chunks +0 lines, -13 lines 0 comments Download
M src/bootstrapper.cc View 1 2 1 chunk +0 lines, -5 lines 0 comments Download
M src/builtins.cc View 1 2 1 chunk +0 lines, -5 lines 0 comments Download
M src/builtins-ia32.cc View 1 2 1 chunk +0 lines, -3 lines 0 comments Download
M src/checks.h View 1 1 chunk +0 lines, -4 lines 0 comments Download
M src/checks.cc View 1 1 chunk +0 lines, -8 lines 0 comments Download
M src/code-stubs.cc View 1 1 chunk +0 lines, -4 lines 0 comments Download
M src/codegen.h View 1 1 chunk +0 lines, -1 line 0 comments Download
M src/codegen.cc View 1 1 chunk +0 lines, -5 lines 0 comments Download
M src/codegen-arm.cc View 1 2 1 chunk +0 lines, -28 lines 0 comments Download
M src/codegen-ia32.cc View 1 2 1 chunk +0 lines, -28 lines 0 comments Download
M src/compiler.cc View 1 2 1 chunk +0 lines, -11 lines 0 comments Download
M src/contexts.cc View 1 1 chunk +0 lines, -8 lines 0 comments Download
M src/debug.cc View 1 1 chunk +0 lines, -6 lines 0 comments Download
M src/execution.cc View 1 2 1 chunk +0 lines, -2 lines 0 comments Download
M src/flags.h View 1 3 chunks +9 lines, -155 lines 0 comments Download
M src/flags.cc View 1 2 3 9 chunks +184 lines, -164 lines 0 comments Download
A src/flags.defs View 1 2 3 4 1 chunk +318 lines, -0 lines 0 comments Download
M src/flags-inl.h View 1 1 chunk +0 lines, -75 lines 0 comments Download
M src/frames.cc View 1 2 1 chunk +0 lines, -8 lines 0 comments Download
M src/handles.cc View 1 2 1 chunk +0 lines, -6 lines 0 comments Download
M src/heap.cc View 1 2 1 chunk +0 lines, -25 lines 0 comments Download
M src/heap-inl.h View 1 2 1 chunk +0 lines, -6 lines 0 comments Download
M src/ic.cc View 1 1 chunk +0 lines, -7 lines 0 comments Download
M src/ic-ia32.cc View 1 2 1 chunk +0 lines, -4 lines 0 comments Download
M src/log.cc View 1 2 1 chunk +0 lines, -24 lines 0 comments Download
M src/macro-assembler-arm.cc View 1 2 1 chunk +0 lines, -4 lines 0 comments Download
M src/macro-assembler-ia32.cc View 1 2 1 chunk +0 lines, -5 lines 0 comments Download
M src/mark-compact.cc View 1 1 chunk +0 lines, -13 lines 0 comments Download
M src/mksnapshot.cc View 1 1 chunk +0 lines, -8 lines 0 comments Download
M src/objects.cc View 1 2 1 chunk +0 lines, -6 lines 0 comments Download
M src/parser.cc View 1 1 chunk +0 lines, -4 lines 0 comments Download
M src/runtime.cc View 1 2 1 chunk +0 lines, -5 lines 0 comments Download
M src/scopes.cc View 1 1 chunk +0 lines, -2 lines 0 comments Download
M src/serialize.cc View 1 2 3 chunks +0 lines, -16 lines 0 comments Download
M src/simulator-arm.cc View 1 2 2 chunks +0 lines, -6 lines 0 comments Download
M src/spaces.cc View 1 1 chunk +0 lines, -11 lines 0 comments Download
M src/stub-cache.cc View 1 1 chunk +0 lines, -1 line 0 comments Download
M src/top.cc View 1 2 1 chunk +0 lines, -5 lines 0 comments Download
M src/usage-analyzer.cc View 1 1 chunk +0 lines, -2 lines 0 comments Download
M src/v8.h View 1 1 chunk +1 line, -1 line 0 comments Download
M src/v8.cc View 1 1 chunk +0 lines, -3 lines 0 comments Download
M test/cctest/test-api.cc View 1 2 1 chunk +1 line, -5 lines 0 comments Download
M test/cctest/test-debug.cc View 1 2 1 chunk +0 lines, -6 lines 0 comments Download
M test/cctest/test-flags.cc View 1 7 chunks +41 lines, -45 lines 0 comments Download
M test/cctest/test-mark-compact.cc View 1 1 chunk +0 lines, -5 lines 0 comments Download
M test/cctest/test-serialize.cc View 1 3 chunks +2 lines, -15 lines 0 comments Download
M tools/v8.xcodeproj/project.pbxproj View 1 2 chunks +0 lines, -2 lines 0 comments Download

Messages

Total messages: 3 (0 generated)
Dean McNamee
I threw away all the dynamic flag stuff, it was too complicated. This means that ...
12 years, 3 months ago (2008-09-11 10:48:59 UTC) #1
Kasper Lund
LGTM. I still think you should consider renaming the .defs file to something else. http://codereview.chromium.org/1935/diff/53/270 ...
12 years, 3 months ago (2008-09-11 13:55:42 UTC) #2
lars.bak
12 years, 3 months ago (2008-09-11 14:11:46 UTC) #3
Hi Dean

Great first step to move all flags to one file.
However, it would be perfect if you could eliminate the flags.defs.

Otherwise, LGTM,
  Lars

http://codereview.chromium.org/1935/diff/53/271
File src/flags.defs (right):

http://codereview.chromium.org/1935/diff/53/271#newcode1
Line 1: // Copyright 2008 the V8 project authors. All rights reserved.
I understand the reason for the state based include but we should reduce flags
to be in release or in release+debug.
Since most flags is compiled away in release mode, I think this is OK. If you
make this change flags can be defined in ONE giant macro.
This will also eliminate the need for flags.def.

http://codereview.chromium.org/1935/diff/53/272
File src/flags.h (right):

http://codereview.chromium.org/1935/diff/53/272#newcode35
Line 35: #define FLAG_MODE_DECLARE
I don't like the defs file extension. Please use .h as extension. After all, it
is a C++ header file.

Powered by Google App Engine
This is Rietveld 408576698