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

Side by Side Diff: Source/platform/heap/Heap.cpp

Issue 777173003: Oilpan: fix GC_PROFILE_MARKING compilation. (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Created 6 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 /* 1 /*
2 * Copyright (C) 2013 Google Inc. All rights reserved. 2 * Copyright (C) 2013 Google Inc. All rights reserved.
3 * 3 *
4 * Redistribution and use in source and binary forms, with or without 4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions are 5 * modification, are permitted provided that the following conditions are
6 * met: 6 * met:
7 * 7 *
8 * * Redistributions of source code must retain the above copyright 8 * * Redistributions of source code must retain the above copyright
9 * notice, this list of conditions and the following disclaimer. 9 * notice, this list of conditions and the following disclaimer.
10 * * Redistributions in binary form must reproduce the above 10 * * Redistributions in binary form must reproduce the above
(...skipping 2362 matching lines...) Expand 10 before | Expand all | Expand 10 after
2373 #if ENABLE(GC_PROFILE_MARKING) 2373 #if ENABLE(GC_PROFILE_MARKING)
2374 const GCInfo* Heap::findGCInfo(Address address) 2374 const GCInfo* Heap::findGCInfo(Address address)
2375 { 2375 {
2376 return ThreadState::findGCInfoFromAllThreads(address); 2376 return ThreadState::findGCInfoFromAllThreads(address);
2377 } 2377 }
2378 #endif 2378 #endif
2379 2379
2380 #if ENABLE(GC_PROFILE_MARKING) 2380 #if ENABLE(GC_PROFILE_MARKING)
2381 void Heap::dumpPathToObjectOnNextGC(void* p) 2381 void Heap::dumpPathToObjectOnNextGC(void* p)
2382 { 2382 {
2383 static_cast<MarkingVisitor*>(s_markingVisitor)->dumpPathToObjectOnNextGC(p); 2383 static_cast<MarkingVisitor<GlobalMarking>*>(s_markingVisitor)->dumpPathToObj ectOnNextGC(p);
2384 } 2384 }
2385 2385
2386 String Heap::createBacktraceString() 2386 String Heap::createBacktraceString()
2387 { 2387 {
2388 int framesToShow = 3; 2388 int framesToShow = 3;
2389 int stackFrameSize = 16; 2389 int stackFrameSize = 16;
2390 ASSERT(stackFrameSize >= framesToShow); 2390 ASSERT(stackFrameSize >= framesToShow);
2391 typedef void* FramePointer; 2391 typedef void* FramePointer;
2392 FramePointer* stackFrame = static_cast<FramePointer*>(alloca(sizeof(FramePoi nter) * stackFrameSize)); 2392 FramePointer* stackFrame = static_cast<FramePointer*>(alloca(sizeof(FramePoi nter) * stackFrameSize));
2393 WTFGetBacktrace(stackFrame, &stackFrameSize); 2393 WTFGetBacktrace(stackFrame, &stackFrameSize);
(...skipping 147 matching lines...) Expand 10 before | Expand all | Expand 10 after
2541 ScriptForbiddenScope::enter(); 2541 ScriptForbiddenScope::enter();
2542 2542
2543 s_lastGCWasConservative = false; 2543 s_lastGCWasConservative = false;
2544 2544
2545 TRACE_EVENT2("blink_gc", "Heap::collectGarbage", 2545 TRACE_EVENT2("blink_gc", "Heap::collectGarbage",
2546 "precise", stackState == ThreadState::NoHeapPointersOnStack, 2546 "precise", stackState == ThreadState::NoHeapPointersOnStack,
2547 "forced", gcType == ThreadState::ForcedGC); 2547 "forced", gcType == ThreadState::ForcedGC);
2548 TRACE_EVENT_SCOPED_SAMPLING_STATE("blink_gc", "BlinkGC"); 2548 TRACE_EVENT_SCOPED_SAMPLING_STATE("blink_gc", "BlinkGC");
2549 double timeStamp = WTF::currentTimeMS(); 2549 double timeStamp = WTF::currentTimeMS();
2550 #if ENABLE(GC_PROFILE_MARKING) 2550 #if ENABLE(GC_PROFILE_MARKING)
2551 static_cast<MarkingVisitor*>(s_markingVisitor)->objectGraph().clear(); 2551 static_cast<MarkingVisitor<GlobalMarking>*>(s_markingVisitor)->objectGraph() .clear();
2552 #endif 2552 #endif
2553 2553
2554 // Disallow allocation during garbage collection (but not 2554 // Disallow allocation during garbage collection (but not
2555 // during the finalization that happens when the gcScope is 2555 // during the finalization that happens when the gcScope is
2556 // torn down). 2556 // torn down).
2557 ThreadState::NoAllocationScope noAllocationScope(state); 2557 ThreadState::NoAllocationScope noAllocationScope(state);
2558 2558
2559 enterGC(); 2559 enterGC();
2560 preGC(); 2560 preGC();
2561 2561
(...skipping 21 matching lines...) Expand all
2583 2583
2584 // Now we can delete all orphaned pages because there are no dangling 2584 // Now we can delete all orphaned pages because there are no dangling
2585 // pointers to the orphaned pages. (If we have such dangling pointers, 2585 // pointers to the orphaned pages. (If we have such dangling pointers,
2586 // we should have crashed during marking before getting here.) 2586 // we should have crashed during marking before getting here.)
2587 orphanedPagePool()->decommitOrphanedPages(); 2587 orphanedPagePool()->decommitOrphanedPages();
2588 2588
2589 postGC(); 2589 postGC();
2590 leaveGC(); 2590 leaveGC();
2591 2591
2592 #if ENABLE(GC_PROFILE_MARKING) 2592 #if ENABLE(GC_PROFILE_MARKING)
2593 static_cast<MarkingVisitor*>(s_markingVisitor)->reportStats(); 2593 static_cast<MarkingVisitor<GlobalMarking>*>(s_markingVisitor)->reportStats() ;
2594 #endif 2594 #endif
2595 2595
2596 if (Platform::current()) { 2596 if (Platform::current()) {
2597 Platform::current()->histogramCustomCounts("BlinkGC.CollectGarbage", WTF ::currentTimeMS() - timeStamp, 0, 10 * 1000, 50); 2597 Platform::current()->histogramCustomCounts("BlinkGC.CollectGarbage", WTF ::currentTimeMS() - timeStamp, 0, 10 * 1000, 50);
2598 Platform::current()->histogramCustomCounts("BlinkGC.TotalObjectSpace", H eap::allocatedObjectSize() / 1024, 0, 4 * 1024 * 1024, 50); 2598 Platform::current()->histogramCustomCounts("BlinkGC.TotalObjectSpace", H eap::allocatedObjectSize() / 1024, 0, 4 * 1024 * 1024, 50);
2599 Platform::current()->histogramCustomCounts("BlinkGC.TotalAllocatedSpace" , Heap::allocatedSpace() / 1024, 0, 4 * 1024 * 1024, 50); 2599 Platform::current()->histogramCustomCounts("BlinkGC.TotalAllocatedSpace" , Heap::allocatedSpace() / 1024, 0, 4 * 1024 * 1024, 50);
2600 } 2600 }
2601 2601
2602 if (state->isMainThread()) 2602 if (state->isMainThread())
2603 ScriptForbiddenScope::exit(); 2603 ScriptForbiddenScope::exit();
(...skipping 342 matching lines...) Expand 10 before | Expand all | Expand 10 after
2946 bool Heap::s_lastGCWasConservative = false; 2946 bool Heap::s_lastGCWasConservative = false;
2947 bool Heap::s_inGC = false; 2947 bool Heap::s_inGC = false;
2948 FreePagePool* Heap::s_freePagePool; 2948 FreePagePool* Heap::s_freePagePool;
2949 OrphanedPagePool* Heap::s_orphanedPagePool; 2949 OrphanedPagePool* Heap::s_orphanedPagePool;
2950 Heap::RegionTree* Heap::s_regionTree = 0; 2950 Heap::RegionTree* Heap::s_regionTree = 0;
2951 size_t Heap::s_allocatedObjectSize = 0; 2951 size_t Heap::s_allocatedObjectSize = 0;
2952 size_t Heap::s_allocatedSpace = 0; 2952 size_t Heap::s_allocatedSpace = 0;
2953 size_t Heap::s_markedObjectSize = 0; 2953 size_t Heap::s_markedObjectSize = 0;
2954 2954
2955 } // namespace blink 2955 } // namespace blink
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698