LGTM. On Wed, Oct 22, 2008 at 11:39 AM, <[EMAIL PROTECTED]> wrote: > Reviewers: Kasper Lund, > > Description: > - Applied FixedArray::WriteBarrierMode to NewArgumentsFast. > > > Please review this at http://codereview.chromium.org/8052 > > SVN Base: http://v8.googlecode.com/svn/branches/bleeding_edge/ > > Affected files: > M src/heap.cc > M src/runtime.cc > > > Index: src/heap.cc > =================================================================== > --- src/heap.cc (revision 549) > +++ src/heap.cc (working copy) > @@ -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; > } > > Index: src/runtime.cc > =================================================================== > --- src/runtime.cc (revision 549) > +++ src/runtime.cc (working copy) > @@ -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 -~----------~----~----~----~------~----~------~--~---
