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

Issue 26006004: Annotate V8 for MemorySanitizer. (Closed)

Created:
7 years, 2 months ago by eugenis
Modified:
6 years, 9 months ago
CC:
v8-dev
Visibility:
Public.

Description

Annotate V8 for MemorySanitizer. There are 4 kinds of annotations here: - We mark memory allocated for the V8 heap as initialized. This is needed because MemorySanitizer can not detect memory writes from JIT code and will erroneously think that entire V8 heap is not initialized. - On JIT->C++ transition, we mark a large chunk of stack and function arguments as initialized. - In stack unwind code we mark return address slots on the stack as uninitialized. - Workarounds for lack of inline assembly support in sanitizers: + disable STOS + pre-initialize outputs of cpuid

Patch Set 1 #

Patch Set 2 : #

Patch Set 3 : jkummerow@chromium.org,ulan@chromium.org #

Patch Set 4 : jkummerow@chromium.org,ulan@chromium.org #

Patch Set 5 : #

Total comments: 9
Unified diffs Side-by-side diffs Delta from patch set Stats (+111 lines, -6 lines) Patch
M src/arguments.h View 2 chunks +2 lines, -0 lines 0 comments Download
M src/atomicops_internals_x86_gcc.cc View 1 chunk +4 lines, -4 lines 0 comments Download
M src/builtins.cc View 3 chunks +3 lines, -0 lines 0 comments Download
M src/deoptimizer.cc View 2 chunks +3 lines, -0 lines 2 comments Download
M src/frames.cc View 2 chunks +2 lines, -0 lines 0 comments Download
M src/frames-inl.h View 2 chunks +6 lines, -2 lines 0 comments Download
A src/msan.h View 1 chunk +77 lines, -0 lines 3 comments Download
M src/platform-posix.cc View 2 chunks +6 lines, -0 lines 4 comments Download
M src/spaces.cc View 2 chunks +2 lines, -0 lines 0 comments Download
M src/v8utils.h View 1 2 chunks +6 lines, -0 lines 0 comments Download

Messages

Total messages: 6 (0 generated)
eugenis
7 years, 2 months ago (2013-10-04 14:28:26 UTC) #1
eugenis
7 years, 2 months ago (2013-10-04 14:29:01 UTC) #2
danno
Why does there need to be specific support for MEMORY_SANITIZER at all in V8? There ...
7 years, 2 months ago (2013-10-10 14:18:06 UTC) #3
Evgeniy Stepanov
On 2013/10/10 14:18:06, danno wrote: > Why does there need to be specific support for ...
7 years, 2 months ago (2013-10-10 15:08:46 UTC) #4
Evgeniy Stepanov
https://codereview.chromium.org/26006004/diff/33001/src/deoptimizer.cc File src/deoptimizer.cc (right): https://codereview.chromium.org/26006004/diff/33001/src/deoptimizer.cc#newcode114 src/deoptimizer.cc:114: Deoptimizer* deoptimizer = new Deoptimizer(isolate, On 2013/10/10 14:18:07, danno ...
7 years, 2 months ago (2013-10-10 15:08:54 UTC) #5
eugenis
6 years, 9 months ago (2014-03-26 13:03:31 UTC) #6
We've decided to use the awesome simulator-arm64 in MSan builds. Most of these
changes are no longer needed, and we can test JITted code with MSan, too.

I've split the rest in several issues, please review them separately:

https://codereview.chromium.org/212863002/
https://codereview.chromium.org/212723003/
https://codereview.chromium.org/212833002/
https://codereview.chromium.org/212483004/

Powered by Google App Engine
This is Rietveld 408576698