Revert of [heap] Report wrappers after processing the marking deque incrementally (patchset #5 id:80001 of https://codereview.chromium.org/2604583002/ )
Reason for revert:
Speculative revert. Might block the roll:
https://codereview.chromium.org/2606503002/
The gpu bots crash with this stack top:v88internal18IncrementalMarking25AdvanceIncrementalMarkingEdNS1_16CompletionActionENS1_21ForceCompletionActionENS0_10StepOrigin
Original issue's description:
> [heap] Report wrappers after processing the marking deque incrementally
>
> BUG=chromium:676700, chromium:468240
>
> Review-Url: https://codereview.chromium.org/2604583002
> Cr-Commit-Position: refs/heads/master@{#41946}
> Committed: 1344e3a9ca
TBR=hpayer@chromium.org,mlippautz@chromium.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=chromium:676700, chromium:468240
Review-Url: https://codereview.chromium.org/2604673002
Cr-Commit-Position: refs/heads/master@{#41951}
This commit is contained in:
parent
52c1cba019
commit
061a3a152c
@ -41,7 +41,7 @@ bool LocalEmbedderHeapTracer::Trace(
|
||||
double deadline, EmbedderHeapTracer::AdvanceTracingActions actions) {
|
||||
if (!InUse()) return false;
|
||||
|
||||
DCHECK_EQ(0, NumberOfCachedWrappersToTrace());
|
||||
RegisterWrappersWithRemoteTracer();
|
||||
return remote_tracer_->AdvanceTracing(deadline, actions);
|
||||
}
|
||||
|
||||
|
@ -892,11 +892,6 @@ intptr_t IncrementalMarking::ProcessMarkingDeque(
|
||||
VisitObject(map, obj, size);
|
||||
bytes_processed += size - unscanned_bytes_of_large_object_;
|
||||
}
|
||||
// Report all found wrappers to the embedder. This is necessary as the
|
||||
// embedder could potentially invalidate wrappers as soon as V8 is done
|
||||
// with its incremental marking processing. Any cached wrappers could
|
||||
// result in broken pointers at this point.
|
||||
heap_->local_embedder_heap_tracer()->RegisterWrappersWithRemoteTracer();
|
||||
return bytes_processed;
|
||||
}
|
||||
|
||||
@ -1038,8 +1033,6 @@ double IncrementalMarking::AdvanceIncrementalMarking(
|
||||
TRACE_EVENT0("v8", "V8.GCIncrementalMarking");
|
||||
TRACE_GC(heap_->tracer(), GCTracer::Scope::MC_INCREMENTAL);
|
||||
DCHECK(!IsStopped());
|
||||
DCHECK_EQ(
|
||||
0, heap_->local_embedder_heap_tracer()->NumberOfCachedWrappersToTrace());
|
||||
|
||||
double remaining_time_in_ms = 0.0;
|
||||
intptr_t step_size_in_bytes = GCIdleTimeHandler::EstimateMarkingStepSize(
|
||||
|
@ -2136,7 +2136,6 @@ void MarkCompactCollector::ProcessEphemeralMarking(
|
||||
if (!only_process_harmony_weak_collections) {
|
||||
if (heap_->local_embedder_heap_tracer()->InUse()) {
|
||||
TRACE_GC(heap()->tracer(), GCTracer::Scope::MC_MARK_WRAPPER_TRACING);
|
||||
heap_->local_embedder_heap_tracer()->RegisterWrappersWithRemoteTracer();
|
||||
heap_->local_embedder_heap_tracer()->Trace(
|
||||
0,
|
||||
EmbedderHeapTracer::AdvanceTracingActions(
|
||||
|
@ -135,7 +135,6 @@ TEST(LocalEmbedderHeapTracer, TraceFinishes) {
|
||||
local_tracer.AddWrapperToTrace(CreateWrapperInfo());
|
||||
EXPECT_EQ(1u, local_tracer.NumberOfCachedWrappersToTrace());
|
||||
EXPECT_CALL(remote_tracer, RegisterV8References(_));
|
||||
local_tracer.RegisterWrappersWithRemoteTracer();
|
||||
EXPECT_CALL(remote_tracer, AdvanceTracing(0, _)).WillOnce(Return(false));
|
||||
EXPECT_FALSE(local_tracer.Trace(
|
||||
0, EmbedderHeapTracer::AdvanceTracingActions(
|
||||
@ -150,7 +149,6 @@ TEST(LocalEmbedderHeapTracer, TraceDoesNotFinish) {
|
||||
local_tracer.AddWrapperToTrace(CreateWrapperInfo());
|
||||
EXPECT_EQ(1u, local_tracer.NumberOfCachedWrappersToTrace());
|
||||
EXPECT_CALL(remote_tracer, RegisterV8References(_));
|
||||
local_tracer.RegisterWrappersWithRemoteTracer();
|
||||
EXPECT_CALL(remote_tracer, AdvanceTracing(0, _)).WillOnce(Return(true));
|
||||
EXPECT_TRUE(local_tracer.Trace(
|
||||
0, EmbedderHeapTracer::AdvanceTracingActions(
|
||||
|
Loading…
Reference in New Issue
Block a user