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

Side by Side Diff: src/heap/heap.h

Issue 866723002: Treat pointers in optimized code as strong before all weak dependencies are registered. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: fix check Created 5 years, 11 months 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
« no previous file with comments | « src/arm64/lithium-codegen-arm64.cc ('k') | src/heap/heap-inl.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2012 the V8 project authors. All rights reserved. 1 // Copyright 2012 the V8 project authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #ifndef V8_HEAP_HEAP_H_ 5 #ifndef V8_HEAP_HEAP_H_
6 #define V8_HEAP_HEAP_H_ 6 #define V8_HEAP_HEAP_H_
7 7
8 #include <cmath> 8 #include <cmath>
9 9
10 #include "src/allocation.h" 10 #include "src/allocation.h"
(...skipping 2115 matching lines...) Expand 10 before | Expand all | Expand 10 after
2126 friend class AlwaysAllocateScope; 2126 friend class AlwaysAllocateScope;
2127 friend class Deserializer; 2127 friend class Deserializer;
2128 friend class Factory; 2128 friend class Factory;
2129 friend class GCCallbacksScope; 2129 friend class GCCallbacksScope;
2130 friend class GCTracer; 2130 friend class GCTracer;
2131 friend class HeapIterator; 2131 friend class HeapIterator;
2132 friend class Isolate; 2132 friend class Isolate;
2133 friend class MarkCompactCollector; 2133 friend class MarkCompactCollector;
2134 friend class MarkCompactMarkingVisitor; 2134 friend class MarkCompactMarkingVisitor;
2135 friend class MapCompact; 2135 friend class MapCompact;
2136 #ifdef VERIFY_HEAP
2137 friend class NoWeakObjectVerificationScope;
2138 #endif
2139 friend class Page; 2136 friend class Page;
2140 2137
2141 DISALLOW_COPY_AND_ASSIGN(Heap); 2138 DISALLOW_COPY_AND_ASSIGN(Heap);
2142 }; 2139 };
2143 2140
2144 2141
2145 class HeapStats { 2142 class HeapStats {
2146 public: 2143 public:
2147 static const int kStartMarker = 0xDECADE00; 2144 static const int kStartMarker = 0xDECADE00;
2148 static const int kEndMarker = 0xDECADE01; 2145 static const int kEndMarker = 0xDECADE01;
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after
2182 explicit inline AlwaysAllocateScope(Isolate* isolate); 2179 explicit inline AlwaysAllocateScope(Isolate* isolate);
2183 inline ~AlwaysAllocateScope(); 2180 inline ~AlwaysAllocateScope();
2184 2181
2185 private: 2182 private:
2186 // Implicitly disable artificial allocation failures. 2183 // Implicitly disable artificial allocation failures.
2187 Heap* heap_; 2184 Heap* heap_;
2188 DisallowAllocationFailure daf_; 2185 DisallowAllocationFailure daf_;
2189 }; 2186 };
2190 2187
2191 2188
2192 #ifdef VERIFY_HEAP
2193 class NoWeakObjectVerificationScope {
2194 public:
2195 inline NoWeakObjectVerificationScope();
2196 inline ~NoWeakObjectVerificationScope();
2197 };
2198 #endif
2199
2200
2201 class GCCallbacksScope { 2189 class GCCallbacksScope {
2202 public: 2190 public:
2203 explicit inline GCCallbacksScope(Heap* heap); 2191 explicit inline GCCallbacksScope(Heap* heap);
2204 inline ~GCCallbacksScope(); 2192 inline ~GCCallbacksScope();
2205 2193
2206 inline bool CheckReenter(); 2194 inline bool CheckReenter();
2207 2195
2208 private: 2196 private:
2209 Heap* heap_; 2197 Heap* heap_;
2210 }; 2198 };
(...skipping 385 matching lines...) Expand 10 before | Expand all | Expand 10 after
2596 DisallowHeapAllocation no_allocation; // i.e. no gc allowed. 2584 DisallowHeapAllocation no_allocation; // i.e. no gc allowed.
2597 2585
2598 private: 2586 private:
2599 DISALLOW_IMPLICIT_CONSTRUCTORS(PathTracer); 2587 DISALLOW_IMPLICIT_CONSTRUCTORS(PathTracer);
2600 }; 2588 };
2601 #endif // DEBUG 2589 #endif // DEBUG
2602 } 2590 }
2603 } // namespace v8::internal 2591 } // namespace v8::internal
2604 2592
2605 #endif // V8_HEAP_HEAP_H_ 2593 #endif // V8_HEAP_HEAP_H_
OLDNEW
« no previous file with comments | « src/arm64/lithium-codegen-arm64.cc ('k') | src/heap/heap-inl.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698