2262ba881c
Avoid generating a tracing scope when there's no such callbacks. Drive-by: Avoid a return value in the GC call by using a getter in the single place that is actually interested in whether external callbacks have been executed for global handles. Change-Id: I07082b4a2a68c37ccc90a5aae936d484bacd3717 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/4224132 Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Reviewed-by: Dominik Inführ <dinfuehr@chromium.org> Cr-Commit-Position: refs/heads/main@{#85693}
227 lines
8.9 KiB
Plaintext
227 lines
8.9 KiB
Plaintext
tools/gcmole/gcmole-test.cc:30:10: warning: Possibly stale variable due to GCs.
|
|
return obj;
|
|
^
|
|
tools/gcmole/gcmole-test.cc:28:20: note: Call might cause unexpected GC.
|
|
isolate->heap()->CollectGarbage(OLD_SPACE, GarbageCollectionReason::kTesting);
|
|
^
|
|
./src/heap/heap.h:<number>:<number>: note: GC call here.
|
|
V8_EXPORT_PRIVATE void CollectGarbage(
|
|
^
|
|
tools/gcmole/gcmole-test.cc:48:3: warning: Possible problem with evaluation order with interleaved GCs.
|
|
TwoArgumentsFunction(*CauseGC(obj1, isolate), *CauseGC(obj2, isolate));
|
|
^
|
|
tools/gcmole/gcmole-test.cc:48:25: note: Call might cause unexpected GC.
|
|
TwoArgumentsFunction(*CauseGC(obj1, isolate), *CauseGC(obj2, isolate));
|
|
^
|
|
tools/gcmole/gcmole-test.cc:21:1: note: GC call here.
|
|
Handle<Object> CauseGC(Handle<Object> obj, Isolate* isolate) {
|
|
^
|
|
tools/gcmole/gcmole-test.cc:60:3: warning: Possible problem with evaluation order with interleaved GCs.
|
|
TwoSizeTArgumentsFunction(sizeof(*CauseGC(obj1, isolate)),
|
|
^
|
|
tools/gcmole/gcmole-test.cc:60:37: note: Call might cause unexpected GC.
|
|
TwoSizeTArgumentsFunction(sizeof(*CauseGC(obj1, isolate)),
|
|
^
|
|
tools/gcmole/gcmole-test.cc:21:1: note: GC call here.
|
|
Handle<Object> CauseGC(Handle<Object> obj, Isolate* isolate) {
|
|
^
|
|
tools/gcmole/gcmole-test.cc:85:7: warning: Possible problem with evaluation order with interleaved GCs.
|
|
so->Method(*CauseGC(obj1, isolate));
|
|
^
|
|
tools/gcmole/gcmole-test.cc:85:15: note: Call might cause unexpected GC.
|
|
so->Method(*CauseGC(obj1, isolate));
|
|
^
|
|
tools/gcmole/gcmole-test.cc:21:1: note: GC call here.
|
|
Handle<Object> CauseGC(Handle<Object> obj, Isolate* isolate) {
|
|
^
|
|
tools/gcmole/gcmole-test.cc:87:7: warning: Possible problem with evaluation order with interleaved GCs.
|
|
so->Method(CauseGCRaw(*obj1, isolate));
|
|
^
|
|
tools/gcmole/gcmole-test.cc:85:15: note: Call might cause unexpected GC.
|
|
so->Method(*CauseGC(obj1, isolate));
|
|
^
|
|
tools/gcmole/gcmole-test.cc:21:1: note: GC call here.
|
|
Handle<Object> CauseGC(Handle<Object> obj, Isolate* isolate) {
|
|
^
|
|
tools/gcmole/gcmole-test.cc:131:14: warning: Possible problem with evaluation order with interleaved GCs.
|
|
so_handle->Method(*derived.VirtualCauseGC(obj1, isolate));
|
|
^
|
|
tools/gcmole/gcmole-test.cc:131:30: note: Call might cause unexpected GC.
|
|
so_handle->Method(*derived.VirtualCauseGC(obj1, isolate));
|
|
^
|
|
tools/gcmole/gcmole-test.cc:115:3: note: GC call here.
|
|
Handle<Object> VirtualCauseGC(Handle<Object> obj, Isolate* isolate) override {
|
|
^
|
|
tools/gcmole/gcmole-test.cc:133:14: warning: Possible problem with evaluation order with interleaved GCs.
|
|
so_handle->Method(*base->VirtualCauseGC(obj1, isolate));
|
|
^
|
|
tools/gcmole/gcmole-test.cc:131:30: note: Call might cause unexpected GC.
|
|
so_handle->Method(*derived.VirtualCauseGC(obj1, isolate));
|
|
^
|
|
tools/gcmole/gcmole-test.cc:115:3: note: GC call here.
|
|
Handle<Object> VirtualCauseGC(Handle<Object> obj, Isolate* isolate) override {
|
|
^
|
|
tools/gcmole/gcmole-test.cc:154:14: warning: Possible problem with evaluation order with interleaved GCs.
|
|
so_handle->Method(*SomeClass::StaticCauseGC(obj1, isolate));
|
|
^
|
|
tools/gcmole/gcmole-test.cc:154:22: note: Call might cause unexpected GC.
|
|
so_handle->Method(*SomeClass::StaticCauseGC(obj1, isolate));
|
|
^
|
|
tools/gcmole/gcmole-test.cc:140:3: note: GC call here.
|
|
static Handle<Object> StaticCauseGC(Handle<Object> obj, Isolate* isolate) {
|
|
^
|
|
tools/gcmole/gcmole-test.cc:164:3: warning: Possibly stale variable due to GCs.
|
|
raw_obj.Print();
|
|
^
|
|
tools/gcmole/gcmole-test.cc:161:3: note: Call might cause unexpected GC.
|
|
CauseGCRaw(raw_obj, isolate);
|
|
^
|
|
tools/gcmole/gcmole-test.cc:27:1: note: GC call here.
|
|
Object CauseGCRaw(Object obj, Isolate* isolate) {
|
|
^
|
|
tools/gcmole/gcmole-test.cc:172:3: warning: Possibly stale variable due to GCs.
|
|
raw_obj.Print();
|
|
^
|
|
tools/gcmole/gcmole-test.cc:169:3: note: Call might cause unexpected GC.
|
|
Safepoint();
|
|
^
|
|
tools/gcmole/gcmole-test.cc:19:1: note: GC call here.
|
|
void Safepoint() { LocalHeap::Current()->Safepoint(); }
|
|
^
|
|
tools/gcmole/gcmole-test.cc:198:3: warning: Possibly stale variable due to GCs.
|
|
raw_obj.Print();
|
|
^
|
|
tools/gcmole/gcmole-test.cc:195:3: note: Call might cause unexpected GC.
|
|
CauseGCRaw(raw_obj, isolate);
|
|
^
|
|
tools/gcmole/gcmole-test.cc:27:1: note: GC call here.
|
|
Object CauseGCRaw(Object obj, Isolate* isolate) {
|
|
^
|
|
tools/gcmole/gcmole-test.cc:224:3: warning: Possibly stale variable due to GCs.
|
|
raw_obj.Print();
|
|
^
|
|
tools/gcmole/gcmole-test.cc:221:3: note: Call might cause unexpected GC.
|
|
Safepoint();
|
|
^
|
|
tools/gcmole/gcmole-test.cc:19:1: note: GC call here.
|
|
void Safepoint() { LocalHeap::Current()->Safepoint(); }
|
|
^
|
|
tools/gcmole/gcmole-test.cc:235:3: warning: Possibly stale variable due to GCs.
|
|
raw_obj.Print();
|
|
^
|
|
tools/gcmole/gcmole-test.cc:233:3: note: Call might cause unexpected GC.
|
|
Safepoint();
|
|
^
|
|
tools/gcmole/gcmole-test.cc:19:1: note: GC call here.
|
|
void Safepoint() { LocalHeap::Current()->Safepoint(); }
|
|
^
|
|
tools/gcmole/gcmole-test.cc:242:3: warning: Possibly stale variable due to GCs.
|
|
raw_obj.Print();
|
|
^
|
|
tools/gcmole/gcmole-test.cc:233:3: note: Call might cause unexpected GC.
|
|
Safepoint();
|
|
^
|
|
tools/gcmole/gcmole-test.cc:19:1: note: GC call here.
|
|
void Safepoint() { LocalHeap::Current()->Safepoint(); }
|
|
^
|
|
tools/gcmole/gcmole-test.cc:252:3: warning: Possibly stale variable due to GCs.
|
|
raw_obj.Print();
|
|
^
|
|
tools/gcmole/gcmole-test.cc:250:3: note: Call might cause unexpected GC.
|
|
CauseGCRaw(raw_obj, isolate);
|
|
^
|
|
tools/gcmole/gcmole-test.cc:27:1: note: GC call here.
|
|
Object CauseGCRaw(Object obj, Isolate* isolate) {
|
|
^
|
|
tools/gcmole/gcmole-test.cc:262:3: warning: Possibly stale variable due to GCs.
|
|
raw_obj.Print();
|
|
^
|
|
tools/gcmole/gcmole-test.cc:260:3: note: Call might cause unexpected GC.
|
|
CauseGCRaw(raw_obj, isolate);
|
|
^
|
|
tools/gcmole/gcmole-test.cc:27:1: note: GC call here.
|
|
Object CauseGCRaw(Object obj, Isolate* isolate) {
|
|
^
|
|
tools/gcmole/gcmole-test.cc:265:3: warning: Possibly stale variable due to GCs.
|
|
raw_obj.Print();
|
|
^
|
|
tools/gcmole/gcmole-test.cc:260:3: note: Call might cause unexpected GC.
|
|
CauseGCRaw(raw_obj, isolate);
|
|
^
|
|
tools/gcmole/gcmole-test.cc:27:1: note: GC call here.
|
|
Object CauseGCRaw(Object obj, Isolate* isolate) {
|
|
^
|
|
tools/gcmole/gcmole-test.cc:271:3: warning: Possibly stale variable due to GCs.
|
|
raw_obj.Print();
|
|
^
|
|
tools/gcmole/gcmole-test.cc:269:3: note: Call might cause unexpected GC.
|
|
CauseGCRaw(raw_obj, isolate);
|
|
^
|
|
tools/gcmole/gcmole-test.cc:27:1: note: GC call here.
|
|
Object CauseGCRaw(Object obj, Isolate* isolate) {
|
|
^
|
|
tools/gcmole/gcmole-test.cc:287:3: warning: Possibly stale variable due to GCs.
|
|
raw_obj.Print();
|
|
^
|
|
tools/gcmole/gcmole-test.cc:285:3: note: Call might cause unexpected GC.
|
|
TestGuardedDeadVarAnalysisNested(raw_obj, isolate);
|
|
^
|
|
tools/gcmole/gcmole-test.cc:268:1: note: GC call here.
|
|
void TestGuardedDeadVarAnalysisNested(JSObject raw_obj, Isolate* isolate) {
|
|
^
|
|
tools/gcmole/gcmole-test.cc:295:3: warning: Possibly stale variable due to GCs.
|
|
raw_obj.Print();
|
|
^
|
|
tools/gcmole/gcmole-test.cc:293:3: note: Call might cause unexpected GC.
|
|
TestGuardedDeadVarAnalysisNested(raw_obj, isolate);
|
|
^
|
|
tools/gcmole/gcmole-test.cc:268:1: note: GC call here.
|
|
void TestGuardedDeadVarAnalysisNested(JSObject raw_obj, Isolate* isolate) {
|
|
^
|
|
tools/gcmole/gcmole-test.cc:302:3: warning: Possibly stale variable due to GCs.
|
|
raw_obj.Print();
|
|
^
|
|
tools/gcmole/gcmole-test.cc:300:3: note: Call might cause unexpected GC.
|
|
TestGuardedDeadVarAnalysisNested(raw_obj, isolate);
|
|
^
|
|
tools/gcmole/gcmole-test.cc:268:1: note: GC call here.
|
|
void TestGuardedDeadVarAnalysisNested(JSObject raw_obj, Isolate* isolate) {
|
|
^
|
|
tools/gcmole/gcmole-test.cc:319:3: warning: Possibly stale variable due to GCs.
|
|
raw_obj.Print();
|
|
^
|
|
tools/gcmole/gcmole-test.cc:317:3: note: Call might cause unexpected GC.
|
|
CauseGCRaw(raw_obj, isolate);
|
|
^
|
|
tools/gcmole/gcmole-test.cc:27:1: note: GC call here.
|
|
Object CauseGCRaw(Object obj, Isolate* isolate) {
|
|
^
|
|
tools/gcmole/gcmole-test.cc:338:3: warning: Possibly stale variable due to GCs.
|
|
raw_obj.Print();
|
|
^
|
|
tools/gcmole/gcmole-test.cc:334:3: note: Call might cause unexpected GC.
|
|
CauseGCRaw(raw_obj, isolate);
|
|
^
|
|
tools/gcmole/gcmole-test.cc:27:1: note: GC call here.
|
|
Object CauseGCRaw(Object obj, Isolate* isolate) {
|
|
^
|
|
tools/gcmole/gcmole-test.cc:349:3: warning: Possibly stale variable due to GCs.
|
|
raw_obj.Print();
|
|
^
|
|
tools/gcmole/gcmole-test.cc:345:3: note: Call might cause unexpected GC.
|
|
CauseGCRaw(raw_obj, isolate);
|
|
^
|
|
tools/gcmole/gcmole-test.cc:27:1: note: GC call here.
|
|
Object CauseGCRaw(Object obj, Isolate* isolate) {
|
|
^
|
|
tools/gcmole/gcmole-test.cc:359:3: warning: Possibly stale variable due to GCs.
|
|
raw_obj.Print();
|
|
^
|
|
tools/gcmole/gcmole-test.cc:355:3: note: Call might cause unexpected GC.
|
|
Safepoint();
|
|
^
|
|
tools/gcmole/gcmole-test.cc:19:1: note: GC call here.
|
|
void Safepoint() { LocalHeap::Current()->Safepoint(); }
|
|
^
|
|
25 warnings generated.
|