d16a2a6884
Make sure gcmole detects issue in DisallowGarbageCollection scopes. DisallowGarbageCollection is widely used in the codebase to document code that doesn't allocate. However, this has the rather unexpected side-effect that gcmole is not run when such a scope is active. This CL changes the default behavior of gcmole to run even with DisallowGarbageCollection scopes present. This will give us the best results of both worlds, dynamic checks by the fuzzer, and static analysis by gcmole. To allow crazy local raw pointer operations there is a new DisableGCMole scope that explicitly disables gcmole. Change-Id: I0a78fb3b4ceaad35be9bcf7293d917a41f90c91f Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2615419 Reviewed-by: Jakob Gruber <jgruber@chromium.org> Reviewed-by: Maya Lekova <mslekova@chromium.org> Commit-Queue: Camillo Bruni <cbruni@chromium.org> Cr-Commit-Position: refs/heads/master@{#72039}
74 lines
2.6 KiB
Plaintext
74 lines
2.6 KiB
Plaintext
tools/gcmole/gcmole-test.cc:30:10: warning: Possibly dead variable.
|
|
return obj;
|
|
^
|
|
tools/gcmole/gcmole-test.cc:48:3: warning: Possible problem with evaluation order.
|
|
TwoArgumentsFunction(*CauseGC(obj1, isolate), *CauseGC(obj2, isolate));
|
|
^
|
|
tools/gcmole/gcmole-test.cc:60:3: warning: Possible problem with evaluation order.
|
|
TwoSizeTArgumentsFunction(sizeof(*CauseGC(obj1, isolate)),
|
|
^
|
|
tools/gcmole/gcmole-test.cc:85:7: warning: Possible problem with evaluation order.
|
|
so->Method(*CauseGC(obj1, isolate));
|
|
^
|
|
tools/gcmole/gcmole-test.cc:87:7: warning: Possible problem with evaluation order.
|
|
so->Method(CauseGCRaw(*obj1, isolate));
|
|
^
|
|
tools/gcmole/gcmole-test.cc:131:14: warning: Possible problem with evaluation order.
|
|
so_handle->Method(*derived.VirtualCauseGC(obj1, isolate));
|
|
^
|
|
tools/gcmole/gcmole-test.cc:133:14: warning: Possible problem with evaluation order.
|
|
so_handle->Method(*base->VirtualCauseGC(obj1, isolate));
|
|
^
|
|
tools/gcmole/gcmole-test.cc:154:14: warning: Possible problem with evaluation order.
|
|
so_handle->Method(*SomeClass::StaticCauseGC(obj1, isolate));
|
|
^
|
|
tools/gcmole/gcmole-test.cc:164:3: warning: Possibly dead variable.
|
|
raw_obj.Print();
|
|
^
|
|
tools/gcmole/gcmole-test.cc:172:3: warning: Possibly dead variable.
|
|
raw_obj.Print();
|
|
^
|
|
tools/gcmole/gcmole-test.cc:198:3: warning: Possibly dead variable.
|
|
raw_obj.Print();
|
|
^
|
|
tools/gcmole/gcmole-test.cc:224:3: warning: Possibly dead variable.
|
|
raw_obj.Print();
|
|
^
|
|
tools/gcmole/gcmole-test.cc:235:3: warning: Possibly dead variable.
|
|
raw_obj.Print();
|
|
^
|
|
tools/gcmole/gcmole-test.cc:242:3: warning: Possibly dead variable.
|
|
raw_obj.Print();
|
|
^
|
|
tools/gcmole/gcmole-test.cc:252:3: warning: Possibly dead variable.
|
|
raw_obj.Print();
|
|
^
|
|
tools/gcmole/gcmole-test.cc:262:3: warning: Possibly dead variable.
|
|
raw_obj.Print();
|
|
^
|
|
tools/gcmole/gcmole-test.cc:265:3: warning: Possibly dead variable.
|
|
raw_obj.Print();
|
|
^
|
|
tools/gcmole/gcmole-test.cc:271:3: warning: Possibly dead variable.
|
|
raw_obj.Print();
|
|
^
|
|
tools/gcmole/gcmole-test.cc:287:3: warning: Possibly dead variable.
|
|
raw_obj.Print();
|
|
^
|
|
tools/gcmole/gcmole-test.cc:295:3: warning: Possibly dead variable.
|
|
raw_obj.Print();
|
|
^
|
|
tools/gcmole/gcmole-test.cc:302:3: warning: Possibly dead variable.
|
|
raw_obj.Print();
|
|
^
|
|
tools/gcmole/gcmole-test.cc:319:3: warning: Possibly dead variable.
|
|
raw_obj.Print();
|
|
^
|
|
tools/gcmole/gcmole-test.cc:338:3: warning: Possibly dead variable.
|
|
raw_obj.Print();
|
|
^
|
|
tools/gcmole/gcmole-test.cc:349:3: warning: Possibly dead variable.
|
|
raw_obj.Print();
|
|
^
|
|
24 warnings generated.
|