Author: [EMAIL PROTECTED]
Date: Wed Oct 22 02:47:20 2008
New Revision: 551

Modified:
    branches/bleeding_edge/src/heap.cc
    branches/bleeding_edge/src/runtime.cc

Log:
- Applied FixedArray::WriteBarrierMode to NewArgumentsFast.

Review URL: http://codereview.chromium.org/8052

Modified: branches/bleeding_edge/src/heap.cc
==============================================================================
--- branches/bleeding_edge/src/heap.cc  (original)
+++ branches/bleeding_edge/src/heap.cc  Wed Oct 22 02:47:20 2008
@@ -1779,13 +1779,13 @@
    FixedArray* properties = FixedArray::cast(source->properties());
    // Update elements if necessary.
    if (elements->length()> 0) {
-    Object* elem = Heap::CopyFixedArray(elements);
+    Object* elem = CopyFixedArray(elements);
      if (elem->IsFailure()) return elem;
      JSObject::cast(clone)->set_elements(FixedArray::cast(elem));
    }
    // Update properties if necessary.
    if (properties->length() > 0) {
-    Object* prop = Heap::CopyFixedArray(properties);
+    Object* prop = CopyFixedArray(properties);
      if (prop->IsFailure()) return prop;
      JSObject::cast(clone)->set_properties(FixedArray::cast(prop));
    }
@@ -2107,7 +2107,8 @@
    FixedArray* result = FixedArray::cast(obj);
    result->set_length(len);
    // Copy the content
-  for (int i = 0; i < len; i++) result->set(i, src->get(i));
+  FixedArray::WriteBarrierMode mode = result->GetWriteBarrierMode();
+  for (int i = 0; i < len; i++) result->set(i, src->get(i), mode);
    return result;
  }


Modified: branches/bleeding_edge/src/runtime.cc
==============================================================================
--- branches/bleeding_edge/src/runtime.cc       (original)
+++ branches/bleeding_edge/src/runtime.cc       Wed Oct 22 02:47:20 2008
@@ -3133,8 +3133,9 @@
    if (result->IsFailure()) return result;
    FixedArray* array = FixedArray::cast(JSObject::cast(result)->elements());
    ASSERT(array->length() == length);
+  FixedArray::WriteBarrierMode mode = array->GetWriteBarrierMode();
    for (int i = 0; i < length; i++) {
-    array->set(i, frame->GetParameter(i));
+    array->set(i, frame->GetParameter(i), mode);
    }
    return result;
  }
@@ -4865,8 +4866,9 @@
    Handle<Object> arguments = Factory::NewArgumentsObject(function, length);
    FixedArray* array =  
FixedArray::cast(JSObject::cast(*arguments)->elements());
    ASSERT(array->length() == length);
+  FixedArray::WriteBarrierMode mode = array->GetWriteBarrierMode();
    for (int i = 0; i < length; i++) {
-    array->set(i, frame->GetParameter(i));
+    array->set(i, frame->GetParameter(i), mode);
    }
    return arguments;
  }

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

Reply via email to