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

Unified Diff: runtime/vm/zone.h

Issue 11040062: Renamed Zone->StackZone, BaseZone->Zone, in preparation for changing isolate->get_zone() to return … (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: code review changes Created 8 years, 2 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « runtime/vm/unit_test.h ('k') | runtime/vm/zone.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: runtime/vm/zone.h
diff --git a/runtime/vm/zone.h b/runtime/vm/zone.h
index 565f3a046054c80905be2ad94f900637e68cb790..fbafa8922cac7a96f520f809d53fbd9e88981ebc 100644
--- a/runtime/vm/zone.h
+++ b/runtime/vm/zone.h
@@ -16,10 +16,10 @@ namespace dart {
// chunks cannot be deallocated individually, but instead zones
// support deallocating all chunks in one fast operation.
-class BaseZone {
+class Zone {
private:
- BaseZone();
- ~BaseZone(); // Delete all memory associated with the zone.
+ Zone();
+ ~Zone(); // Delete all memory associated with the zone.
// Allocate an array sized to hold 'len' elements of type
// 'ElementType'. Checks for integer overflow when performing the
@@ -103,20 +103,24 @@ class BaseZone {
// List of large segments allocated in this zone; may be NULL.
Segment* large_segments_;
- friend class Zone;
+ // Structure for managing handles allocation.
+ VMHandles handles_;
+ VMHandles* handles() { return &handles_; }
+
+ friend class StackZone;
friend class ApiZone;
template<typename T, typename B> friend class BaseGrowableArray;
- DISALLOW_COPY_AND_ASSIGN(BaseZone);
+ DISALLOW_COPY_AND_ASSIGN(Zone);
};
-class Zone : public StackResource {
+class StackZone : public StackResource {
public:
// Create an empty zone and set is at the current zone for the Isolate.
- explicit Zone(BaseIsolate* isolate);
+ explicit StackZone(BaseIsolate* isolate);
// Delete all memory associated with the zone.
- ~Zone();
+ ~StackZone();
// Allocates an array sized to hold 'len' elements of type
// 'ElementType'. Checks for integer overflow when performing the
@@ -154,33 +158,31 @@ class Zone : public StackResource {
// Make a zone-allocated string based on printf format and args.
char* PrintToString(const char* format, ...) PRINTF_ATTRIBUTE(2, 3);
- VMHandles* handles() { return &handles_; }
+ // TODO(tball): remove once zone refactoring is finished.
+ VMHandles* handles() { return zone_.handles(); }
void VisitObjectPointers(ObjectPointerVisitor* visitor);
private:
- BaseZone* GetBaseZone() { return &zone_; }
-
- BaseZone zone_;
+ Zone* GetBaseZone() { return &zone_; }
- // Structure for managing handles allocation.
- VMHandles handles_;
+ Zone zone_;
// Used for chaining zones in order to allow unwinding of stacks.
- Zone* previous_;
+ StackZone* previous_;
template<typename T> friend class GrowableArray;
template<typename T> friend class ZoneGrowableArray;
- DISALLOW_IMPLICIT_CONSTRUCTORS(Zone);
+ DISALLOW_IMPLICIT_CONSTRUCTORS(StackZone);
};
-inline uword BaseZone::AllocUnsafe(intptr_t size) {
+inline uword Zone::AllocUnsafe(intptr_t size) {
ASSERT(size >= 0);
// Round up the requested size to fit the alignment.
if (size > (kIntptrMax - kAlignment)) {
- FATAL1("BaseZone::Alloc: 'size' is too large: size=%"Pd"", size);
+ FATAL1("Zone::Alloc: 'size' is too large: size=%"Pd"", size);
}
size = Utils::RoundUp(size, kAlignment);
@@ -200,17 +202,17 @@ inline uword BaseZone::AllocUnsafe(intptr_t size) {
}
template <class ElementType>
-inline ElementType* BaseZone::Alloc(intptr_t len) {
+inline ElementType* Zone::Alloc(intptr_t len) {
const intptr_t element_size = sizeof(ElementType);
if (len > (kIntptrMax / element_size)) {
- FATAL2("BaseZone::Alloc: 'len' is too large: len=%"Pd", element_size=%"Pd,
+ FATAL2("Zone::Alloc: 'len' is too large: len=%"Pd", element_size=%"Pd,
len, element_size);
}
return reinterpret_cast<ElementType*>(AllocUnsafe(len * element_size));
}
template <class ElementType>
-inline ElementType* BaseZone::Realloc(ElementType* old_data,
+inline ElementType* Zone::Realloc(ElementType* old_data,
intptr_t old_len,
intptr_t new_len) {
ElementType* new_data = Alloc<ElementType>(new_len);
« no previous file with comments | « runtime/vm/unit_test.h ('k') | runtime/vm/zone.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698