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

Issue 9666052: Landing for pliard@chromium.org: Remove static initializers in v8. (Closed)

Created:
8 years, 9 months ago by fschneider
Modified:
8 years, 9 months ago
Reviewers:
CC:
v8-dev
Visibility:
Public.

Description

Landing for pliard@chromium.org: Remove static initializers in v8. This change includes two CLs by pliard@chromium.org: 1. http://codereview.chromium.org/9447052/ (Add CallOnce() and simple LazyInstance implementation): Note that this implementation of LazyInstance does not handle global destructors (i.e. the lazy instances are never deleted). This CL was initially reviewed on codereview.appspot.com: http://codereview.appspot.com/5687064/ 2. http://codereview.chromium.org/9455088/ (Remove static initializers in v8): This CL depends on CL 9447052 (adding CallOnce and LazyInstance). It is based on a patch sent by Digit. With this patch applied, we have only one static initializer left (in atomicops_internals_x86_gcc.cc). This static initializer populates a structure used by x86 atomic operations. It seems that we can hardly remove it. If possible, it will be removed in a next CL. This CL also modifies the presubmit script to check the number of static initializers. BUG=v8:1859 Committed: https://code.google.com/p/v8/source/detail?r=11010

Patch Set 1 #

Unified diffs Side-by-side diffs Delta from patch set Stats (+999 lines, -368 lines) Patch
M src/SConscript View 1 chunk +1 line, -0 lines 0 comments Download
M src/api.cc View 3 chunks +3 lines, -3 lines 0 comments Download
M src/arm/assembler-arm.h View 1 chunk +40 lines, -17 lines 0 comments Download
M src/arm/assembler-arm.cc View 2 chunks +10 lines, -9 lines 0 comments Download
M src/arm/code-stubs-arm.cc View 8 chunks +33 lines, -31 lines 0 comments Download
M src/assembler.h View 1 chunk +0 lines, -15 lines 0 comments Download
M src/assembler.cc View 3 chunks +38 lines, -16 lines 0 comments Download
M src/builtins.cc View 2 chunks +11 lines, -11 lines 0 comments Download
M src/flag-definitions.h View 2 chunks +33 lines, -9 lines 0 comments Download
M src/flags.cc View 2 chunks +1 line, -14 lines 0 comments Download
M src/frames.cc View 2 chunks +4 lines, -3 lines 0 comments Download
M src/gdb-jit.h View 1 chunk +0 lines, -3 lines 0 comments Download
M src/gdb-jit.cc View 5 chunks +5 lines, -4 lines 0 comments Download
M src/heap.cc View 3 chunks +3 lines, -4 lines 0 comments Download
M src/ia32/assembler-ia32.h View 1 chunk +18 lines, -9 lines 0 comments Download
M src/ia32/code-stubs-ia32.cc View 2 chunks +22 lines, -19 lines 0 comments Download
M src/isolate.h View 6 chunks +18 lines, -21 lines 0 comments Download
M src/isolate.cc View 9 chunks +77 lines, -60 lines 0 comments Download
A src/lazy-instance.h View 1 chunk +216 lines, -0 lines 0 comments Download
M src/lithium.h View 6 chunks +9 lines, -5 lines 0 comments Download
M src/lithium.cc View 1 chunk +25 lines, -0 lines 0 comments Download
M src/lithium-allocator.cc View 1 chunk +0 lines, -23 lines 0 comments Download
M src/log.h View 1 chunk +0 lines, -1 line 0 comments Download
M src/log.cc View 4 chunks +6 lines, -4 lines 0 comments Download
A src/once.h View 1 chunk +123 lines, -0 lines 0 comments Download
A src/once.cc View 1 chunk +77 lines, -0 lines 0 comments Download
M src/platform.h View 3 chunks +43 lines, -0 lines 0 comments Download
M src/platform-cygwin.cc View 4 chunks +4 lines, -4 lines 0 comments Download
M src/platform-freebsd.cc View 4 chunks +4 lines, -4 lines 0 comments Download
M src/platform-linux.cc View 4 chunks +4 lines, -4 lines 0 comments Download
M src/platform-macos.cc View 4 chunks +4 lines, -4 lines 0 comments Download
M src/platform-openbsd.cc View 4 chunks +4 lines, -4 lines 0 comments Download
M src/platform-posix.cc View 1 chunk +2 lines, -2 lines 0 comments Download
M src/platform-solaris.cc View 4 chunks +4 lines, -4 lines 0 comments Download
M src/platform-win32.cc View 4 chunks +6 lines, -6 lines 0 comments Download
M src/runtime-profiler.h View 1 chunk +0 lines, -1 line 0 comments Download
M src/runtime-profiler.cc View 4 chunks +6 lines, -6 lines 0 comments Download
M src/v8.h View 1 chunk +1 line, -0 lines 0 comments Download
M src/v8.cc View 6 chunks +13 lines, -10 lines 0 comments Download
M src/x64/assembler-x64.h View 1 chunk +35 lines, -17 lines 0 comments Download
M src/x64/code-stubs-x64.cc View 1 chunk +18 lines, -15 lines 0 comments Download
M src/x64/disasm-x64.cc View 3 chunks +4 lines, -2 lines 0 comments Download
M src/x64/macro-assembler-x64.h View 1 chunk +1 line, -1 line 0 comments Download
M src/x64/macro-assembler-x64.cc View 2 chunks +11 lines, -3 lines 0 comments Download
A tools/check-static-initializers.sh View 1 chunk +54 lines, -0 lines 0 comments Download
M tools/gyp/v8.gyp View 5 chunks +8 lines, -0 lines 0 comments Download

Powered by Google App Engine
This is Rietveld 408576698