| OLD | NEW | 
|     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  Loading... | 
|   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  Loading... | 
|  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 | 
| OLD | NEW |