Remove duplicate LeftTrimFixedArray function.
authorantonm@chromium.org <antonm@chromium.org@ce2b1a6d-e550-0410-aec6-3dcde31c8c00>
Mon, 26 Apr 2010 14:18:50 +0000 (14:18 +0000)
committerantonm@chromium.org <antonm@chromium.org@ce2b1a6d-e550-0410-aec6-3dcde31c8c00>
Mon, 26 Apr 2010 14:18:50 +0000 (14:18 +0000)
Review URL: http://codereview.chromium.org/1701008

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4500 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

src/builtins.cc

index 9850f55..e6cbd94 100644 (file)
@@ -300,35 +300,6 @@ static void FillWithHoles(FixedArray* dst, int from, int to) {
 }
 
 
-static FixedArray* LeftTrimFixedArray(FixedArray* elms) {
-  // For now this trick is only applied to fixed arrays in new space.
-  // In large object space the object's start must coincide with chunk
-  // and thus the trick is just not applicable.
-  // In old space we do not use this trick to avoid dealing with
-  // remembered sets.
-  ASSERT(Heap::new_space()->Contains(elms));
-
-  STATIC_ASSERT(FixedArray::kMapOffset == 0);
-  STATIC_ASSERT(FixedArray::kLengthOffset == kPointerSize);
-  STATIC_ASSERT(FixedArray::kHeaderSize == 2 * kPointerSize);
-
-  Object** former_start = HeapObject::RawField(elms, 0);
-
-  const int len = elms->length();
-
-  // Technically in new space this write might be omitted (except for
-  // debug mode which iterates through the heap), but to play safer
-  // we still do it.
-  former_start[0] = Heap::raw_unchecked_one_pointer_filler_map();
-
-  former_start[1] = Heap::fixed_array_map();
-  former_start[2] = reinterpret_cast<Object*>(len - 1);
-
-  ASSERT_EQ(elms->address() + kPointerSize, (elms + kPointerSize)->address());
-  return elms + kPointerSize;
-}
-
-
 static FixedArray* LeftTrimFixedArray(FixedArray* elms, int to_trim) {
   // For now this trick is only applied to fixed arrays in new space.
   // In large object space the object's start must coincide with chunk
@@ -527,7 +498,7 @@ BUILTIN(ArrayShift) {
   if (Heap::new_space()->Contains(elms)) {
     // As elms still in the same space they used to be (new space),
     // there is no need to update remembered set.
-    array->set_elements(LeftTrimFixedArray(elms), SKIP_WRITE_BARRIER);
+    array->set_elements(LeftTrimFixedArray(elms, 1), SKIP_WRITE_BARRIER);
   } else {
     // Shift the elements.
     AssertNoAllocation no_gc;