Revision: 5692
Author: [email protected]
Date: Thu Oct 21 16:41:09 2010
Log: [Isolates] Clean up some usages of the heap macro.

Review URL: http://codereview.chromium.org/4061002
http://code.google.com/p/v8/source/detail?r=5692

Modified:
 /branches/experimental/isolates/src/heap-inl.h
 /branches/experimental/isolates/src/heap.cc
 /branches/experimental/isolates/src/heap.h
 /branches/experimental/isolates/src/mark-compact.cc
 /branches/experimental/isolates/src/objects-inl.h
 /branches/experimental/isolates/src/objects.cc
 /branches/experimental/isolates/src/runtime.cc

=======================================
--- /branches/experimental/isolates/src/heap-inl.h      Tue Oct 19 07:22:59 2010
+++ /branches/experimental/isolates/src/heap-inl.h      Thu Oct 21 16:41:09 2010
@@ -478,7 +478,7 @@

 void ExternalStringTable::AddString(String* string) {
   ASSERT(string->IsExternalString());
-  if (HEAP->InNewSpace(string)) {
+  if (heap_->InNewSpace(string)) {
     new_space_strings_.Add(string);
   } else {
     old_space_strings_.Add(string);
@@ -503,11 +503,11 @@
 void ExternalStringTable::Verify() {
 #ifdef DEBUG
   for (int i = 0; i < new_space_strings_.length(); ++i) {
-    ASSERT(HEAP->InNewSpace(new_space_strings_[i]));
+    ASSERT(heap_->InNewSpace(new_space_strings_[i]));
     ASSERT(new_space_strings_[i] != HEAP->raw_unchecked_null_value());
   }
   for (int i = 0; i < old_space_strings_.length(); ++i) {
-    ASSERT(!HEAP->InNewSpace(old_space_strings_[i]));
+    ASSERT(!heap_->InNewSpace(old_space_strings_[i]));
     ASSERT(old_space_strings_[i] != HEAP->raw_unchecked_null_value());
   }
 #endif
@@ -516,7 +516,7 @@

 void ExternalStringTable::AddOldString(String* string) {
   ASSERT(string->IsExternalString());
-  ASSERT(!HEAP->InNewSpace(string));
+  ASSERT(!heap_->InNewSpace(string));
   old_space_strings_.Add(string);
 }

@@ -528,7 +528,7 @@


 void Heap::ClearInstanceofCache() {
-  set_instanceof_cache_function(HEAP->the_hole_value());
+  set_instanceof_cache_function(the_hole_value());
 }


=======================================
--- /branches/experimental/isolates/src/heap.cc Thu Oct 14 20:21:08 2010
+++ /branches/experimental/isolates/src/heap.cc Thu Oct 21 16:41:09 2010
@@ -1025,12 +1025,13 @@
 }


-String* Heap::UpdateNewSpaceReferenceInExternalStringTableEntry(Object** p) {
+String* Heap::UpdateNewSpaceReferenceInExternalStringTableEntry(Heap* heap,
+ Object** p) {
   MapWord first_word = HeapObject::cast(*p)->map_word();

   if (!first_word.IsForwardingAddress()) {
     // Unreachable external string can be finalized.
-    HEAP->FinalizeExternalString(String::cast(*p));
+    heap->FinalizeExternalString(String::cast(*p));
     return NULL;
   }

@@ -1051,7 +1052,7 @@

   for (Object** p = start; p < end; ++p) {
     ASSERT(InFromSpace(*p));
-    String* target = updater_func(p);
+    String* target = updater_func(this, p);

     if (target == NULL) continue;

@@ -2149,7 +2150,7 @@
   // Make sure that an out of memory exception is thrown if the length
   // of the new cons string is too large.
   if (length > String::kMaxLength || length < 0) {
-    Isolate::Current()->context()->mark_out_of_memory();
+    isolate()->context()->mark_out_of_memory();
     return Failure::OutOfMemoryException();
   }

@@ -2273,7 +2274,7 @@
     ExternalAsciiString::Resource* resource) {
   size_t length = resource->length();
   if (length > static_cast<size_t>(String::kMaxLength)) {
-    Isolate::Current()->context()->mark_out_of_memory();
+    isolate()->context()->mark_out_of_memory();
     return Failure::OutOfMemoryException();
   }

@@ -2294,7 +2295,7 @@
     ExternalTwoByteString::Resource* resource) {
   size_t length = resource->length();
   if (length > static_cast<size_t>(String::kMaxLength)) {
-    Isolate::Current()->context()->mark_out_of_memory();
+    isolate()->context()->mark_out_of_memory();
     return Failure::OutOfMemoryException();
   }

@@ -2627,7 +2628,7 @@
   ASSERT(allocation_allowed_ && gc_state_ == NOT_IN_GC);

   JSObject* boilerplate =
- Isolate::Current()->context()->global_context()->arguments_boilerplate();
+      isolate()->context()->global_context()->arguments_boilerplate();

   // Check that the size of the boilerplate matches our
   // expectations. The ArgumentsAccessStub::GenerateNewObject relies
@@ -3492,7 +3493,7 @@

 void Heap::Print() {
   if (!HasBeenSetup()) return;
-  Isolate::Current()->PrintStack();
+  isolate()->PrintStack();
   AllSpaces spaces;
   for (Space* space = spaces.next(); space != NULL; space = spaces.next())
     space->Print();
@@ -4450,7 +4451,7 @@

 void Heap::SetStackLimits() {
   ASSERT(isolate_ != NULL);
-  ASSERT(isolate_ == Isolate::Current());
+  ASSERT(isolate_ == isolate());
// On 64 bit machines, pointers are generally out of range of Smis. We write
   // something that looks like an out of range Smi to the GC.

=======================================
--- /branches/experimental/isolates/src/heap.h  Thu Oct 14 20:21:08 2010
+++ /branches/experimental/isolates/src/heap.h  Thu Oct 21 16:41:09 2010
@@ -214,7 +214,8 @@
 class Isolate;


-typedef String* (*ExternalStringTableUpdaterCallback)(Object** pointer);
+typedef String* (*ExternalStringTableUpdaterCallback)(Heap* heap,
+                                                      Object** pointer);

 typedef bool (*DirtyRegionCallback)(Heap* heap,
                                     Address start,
@@ -1372,6 +1373,7 @@
   void Scavenge();

   static String* UpdateNewSpaceReferenceInExternalStringTableEntry(
+      Heap* heap,
       Object** pointer);

Address DoScavenge(ObjectVisitor* scavenge_visitor, Address new_space_front);
=======================================
--- /branches/experimental/isolates/src/mark-compact.cc Thu Oct 14 20:21:08 2010 +++ /branches/experimental/isolates/src/mark-compact.cc Thu Oct 21 16:41:09 2010
@@ -1562,7 +1562,8 @@
 }


-static String* UpdateNewSpaceReferenceInExternalStringTableEntry(Object **p) { +static String* UpdateNewSpaceReferenceInExternalStringTableEntry(Heap* heap, + Object** p) {
   Address old_addr = HeapObject::cast(*p)->address();
   Address new_addr = Memory::Address_at(old_addr);
   return String::cast(HeapObject::FromAddress(new_addr));
=======================================
--- /branches/experimental/isolates/src/objects-inl.h Thu Oct 14 20:21:08 2010 +++ /branches/experimental/isolates/src/objects-inl.h Thu Oct 21 16:41:09 2010
@@ -1216,8 +1216,8 @@

 void JSObject::set_elements(HeapObject* value, WriteBarrierMode mode) {
   ASSERT(map()->has_fast_elements() ==
-         (value->map() == HEAP->fixed_array_map() ||
-          value->map() == HEAP->fixed_cow_array_map()));
+         (value->map() == GetHeap()->fixed_array_map() ||
+          value->map() == GetHeap()->fixed_cow_array_map()));
   // In the assert below Dictionary is covered under FixedArray.
   ASSERT(value->IsFixedArray() || value->IsPixelArray() ||
          value->IsExternalArray());
@@ -1227,14 +1227,14 @@


 void JSObject::initialize_properties() {
-  ASSERT(!HEAP->InNewSpace(HEAP->empty_fixed_array()));
+  ASSERT(!GetHeap()->InNewSpace(GetHeap()->empty_fixed_array()));
   WRITE_FIELD(this, kPropertiesOffset, GetHeap()->empty_fixed_array());
 }


 void JSObject::initialize_elements() {
   ASSERT(map()->has_fast_elements());
-  ASSERT(!HEAP->InNewSpace(HEAP->empty_fixed_array()));
+  ASSERT(!GetHeap()->InNewSpace(GetHeap()->empty_fixed_array()));
   WRITE_FIELD(this, kElementsOffset, GetHeap()->empty_fixed_array());
 }

@@ -1586,10 +1586,10 @@


 int DescriptorArray::SearchWithCache(String* name) {
- int number = HEAP->isolate()->descriptor_lookup_cache()->Lookup(this, name);
+  int number = GetIsolate()->descriptor_lookup_cache()->Lookup(this, name);
   if (number == DescriptorLookupCache::kAbsent) {
     number = Search(name);
-    HEAP->isolate()->descriptor_lookup_cache()->Update(this, name, number);
+    GetIsolate()->descriptor_lookup_cache()->Update(this, name, number);
   }
   return number;
 }
@@ -2859,7 +2859,8 @@


 bool SharedFunctionInfo::is_compiled() {
- return code() != HEAP->isolate()->builtins()->builtin(Builtins::LazyCompile);
+  return code() !=
+      Isolate::Current()->builtins()->builtin(Builtins::LazyCompile);
 }


@@ -2994,7 +2995,7 @@


 bool JSFunction::is_compiled() {
- return code() != HEAP->isolate()->builtins()->builtin(Builtins::LazyCompile); + return code() != GetIsolate()->builtins()->builtin(Builtins::LazyCompile);
 }


@@ -3271,12 +3272,13 @@
 Object* JSObject::EnsureWritableFastElements() {
   ASSERT(HasFastElements());
   FixedArray* elems = FixedArray::cast(elements());
-  if (elems->map() != HEAP->fixed_cow_array_map()) return elems;
-  Object* writable_elems = HEAP->CopyFixedArrayWithMap(elems,
- HEAP->fixed_array_map());
+  Isolate* isolate = GetIsolate();
+  if (elems->map() != isolate->heap()->fixed_cow_array_map()) return elems;
+  Object* writable_elems = isolate->heap()->CopyFixedArrayWithMap(
+      elems, isolate->heap()->fixed_array_map());
   if (writable_elems->IsFailure()) return writable_elems;
   set_elements(FixedArray::cast(writable_elems));
-  COUNTERS->cow_arrays_converted()->Increment();
+  isolate->counters()->cow_arrays_converted()->Increment();
   return writable_elems;
 }

=======================================
--- /branches/experimental/isolates/src/objects.cc      Thu Oct 14 20:21:08 2010
+++ /branches/experimental/isolates/src/objects.cc      Thu Oct 21 16:41:09 2010
@@ -1157,14 +1157,14 @@
   if (u.bits.exp == 2047) {
     // Detect NaN for IEEE double precision floating point.
     if ((u.bits.man_low | u.bits.man_high) != 0)
-      return HEAP->false_value();
+      return GetHeap()->false_value();
   }
   if (u.bits.exp == 0) {
     // Detect +0, and -0 for IEEE double precision floating point.
     if ((u.bits.man_low | u.bits.man_high) == 0)
-      return HEAP->false_value();
-  }
-  return HEAP->true_value();
+      return GetHeap()->false_value();
+  }
+  return GetHeap()->true_value();
 }


@@ -2319,7 +2319,7 @@
   int new_instance_size = new_map->instance_size();
   int instance_size_delta = map()->instance_size() - new_instance_size;
   ASSERT(instance_size_delta >= 0);
-  HEAP->CreateFillerObjectAt(this->address() + new_instance_size,
+  heap->CreateFillerObjectAt(this->address() + new_instance_size,
                              instance_size_delta);

   set_map(new_map);
@@ -3257,7 +3257,7 @@
     new_instance_size -= inobject_properties() * kPointerSize;
   }

-  Object* result = HEAP->AllocateMap(instance_type(), new_instance_size);
+ Object* result = GetHeap()->AllocateMap(instance_type(), new_instance_size);
   if (result->IsFailure()) return result;

   if (mode != CLEAR_INOBJECT_PROPERTIES) {
=======================================
--- /branches/experimental/isolates/src/runtime.cc      Tue Oct 19 07:22:59 2010
+++ /branches/experimental/isolates/src/runtime.cc      Thu Oct 21 16:41:09 2010
@@ -1464,12 +1464,12 @@
   // Having the original JSRegExpResult map guarantees that we have
   // fast elements and no properties except the two in-object properties.
   ASSERT(result->HasFastElements());
-  ASSERT(result->properties() == HEAP->empty_fixed_array());
+  ASSERT(result->properties() == isolate->heap()->empty_fixed_array());
   ASSERT_EQ(2, regexp_result_map->inobject_properties());

-  Object* new_array_alloc = HEAP->AllocateRaw(JSRegExpResult::kSize,
-                                              NEW_SPACE,
-                                              OLD_POINTER_SPACE);
+ Object* new_array_alloc = isolate->heap()->AllocateRaw(JSRegExpResult::kSize,
+                                                         NEW_SPACE,
+ OLD_POINTER_SPACE);
   if (new_array_alloc->IsFailure()) return new_array_alloc;

   // Set HeapObject map to JSRegExpResult map.
@@ -1482,8 +1482,8 @@

   // Copy JSObject elements as copy-on-write.
   FixedArray* elements = FixedArray::cast(result->elements());
-  if (elements != HEAP->empty_fixed_array()) {
-    elements->set_map(HEAP->fixed_cow_array_map());
+  if (elements != isolate->heap()->empty_fixed_array()) {
+    elements->set_map(isolate->heap()->fixed_cow_array_map());
   }
   new_array->set_elements(elements);

@@ -6429,7 +6429,8 @@
   int year, month, day;
   DateYMDFromTime(static_cast<int>(floor(t / 86400000)), year, month, day);

-  RUNTIME_ASSERT(res_array->elements()->map() == HEAP->fixed_array_map());
+  RUNTIME_ASSERT(res_array->elements()->map() ==
+                 isolate->heap()->fixed_array_map());
   FixedArray* elms = FixedArray::cast(res_array->elements());
   RUNTIME_ASSERT(elms->length() == 3);

@@ -7877,8 +7878,8 @@
   CONVERT_CHECKED(JSArray, to, args[1]);
   HeapObject* new_elements = from->elements();
   Object* new_map;
-  if (new_elements->map() == HEAP->fixed_array_map() ||
-      new_elements->map() == HEAP->fixed_cow_array_map()) {
+  if (new_elements->map() == isolate->heap()->fixed_array_map() ||
+      new_elements->map() == isolate->heap()->fixed_cow_array_map()) {
     new_map = to->map()->GetFastElementsMap();
   } else {
     new_map = to->map()->GetSlowElementsMap();

--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev

Reply via email to