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

Side by Side Diff: src/arm/macro-assembler-arm.cc

Issue 155687: Make Array::kHeaderSize protected, and only use kHeaderSize of its subclasses... (Closed) Base URL: http://v8.googlecode.com/svn/branches/bleeding_edge/
Patch Set: Created 11 years, 5 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 unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « src/arm/ic-arm.cc ('k') | src/heap.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2006-2009 the V8 project authors. All rights reserved. 1 // Copyright 2006-2009 the V8 project authors. All rights reserved.
2 // Redistribution and use in source and binary forms, with or without 2 // Redistribution and use in source and binary forms, with or without
3 // modification, are permitted provided that the following conditions are 3 // modification, are permitted provided that the following conditions are
4 // met: 4 // met:
5 // 5 //
6 // * Redistributions of source code must retain the above copyright 6 // * Redistributions of source code must retain the above copyright
7 // notice, this list of conditions and the following disclaimer. 7 // notice, this list of conditions and the following disclaimer.
8 // * Redistributions in binary form must reproduce the above 8 // * Redistributions in binary form must reproduce the above
9 // copyright notice, this list of conditions and the following 9 // copyright notice, this list of conditions and the following
10 // disclaimer in the documentation and/or other materials provided 10 // disclaimer in the documentation and/or other materials provided
(...skipping 208 matching lines...) Expand 10 before | Expand all | Expand 10 after
219 // remembered set. 219 // remembered set.
220 sub(offset, offset, Operand(Page::kPageSize / kPointerSize)); 220 sub(offset, offset, Operand(Page::kPageSize / kPointerSize));
221 // Load the array length into 'scratch' and multiply by four to get the 221 // Load the array length into 'scratch' and multiply by four to get the
222 // size in bytes of the elements. 222 // size in bytes of the elements.
223 ldr(scratch, MemOperand(object, Page::kObjectStartOffset 223 ldr(scratch, MemOperand(object, Page::kObjectStartOffset
224 + FixedArray::kLengthOffset)); 224 + FixedArray::kLengthOffset));
225 mov(scratch, Operand(scratch, LSL, kObjectAlignmentBits)); 225 mov(scratch, Operand(scratch, LSL, kObjectAlignmentBits));
226 // Add the page header (including remembered set), array header, and array 226 // Add the page header (including remembered set), array header, and array
227 // body size to the page address. 227 // body size to the page address.
228 add(object, object, Operand(Page::kObjectStartOffset 228 add(object, object, Operand(Page::kObjectStartOffset
229 + Array::kHeaderSize)); 229 + FixedArray::kHeaderSize));
230 add(object, object, Operand(scratch)); 230 add(object, object, Operand(scratch));
231 231
232 bind(&fast); 232 bind(&fast);
233 // Get address of the rset word. 233 // Get address of the rset word.
234 // object: start of the remembered set (page start for the fast case) 234 // object: start of the remembered set (page start for the fast case)
235 // offset: bit offset of store position in the remembered set 235 // offset: bit offset of store position in the remembered set
236 bic(scratch, offset, Operand(kBitsPerInt - 1)); // clear the bit offset 236 bic(scratch, offset, Operand(kBitsPerInt - 1)); // clear the bit offset
237 add(object, object, Operand(scratch, LSR, kRSetWordShift)); 237 add(object, object, Operand(scratch, LSR, kRSetWordShift));
238 // Get bit offset in the rset word. 238 // Get bit offset in the rset word.
239 // object: address of remembered set word 239 // object: address of remembered set word
(...skipping 765 matching lines...) Expand 10 before | Expand all | Expand 10 after
1005 #endif 1005 #endif
1006 mov(r0, Operand(p0)); 1006 mov(r0, Operand(p0));
1007 push(r0); 1007 push(r0);
1008 mov(r0, Operand(Smi::FromInt(p1 - p0))); 1008 mov(r0, Operand(Smi::FromInt(p1 - p0)));
1009 push(r0); 1009 push(r0);
1010 CallRuntime(Runtime::kAbort, 2); 1010 CallRuntime(Runtime::kAbort, 2);
1011 // will not return here 1011 // will not return here
1012 } 1012 }
1013 1013
1014 } } // namespace v8::internal 1014 } } // namespace v8::internal
OLDNEW
« no previous file with comments | « src/arm/ic-arm.cc ('k') | src/heap.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698