| OLD | NEW |
| 1 // Copyright 2011 the V8 project authors. All rights reserved. | 1 // Copyright 2011 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 6709 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 6720 __ Move(address, regs_.address()); | 6720 __ Move(address, regs_.address()); |
| 6721 __ Move(r0, regs_.object()); | 6721 __ Move(r0, regs_.object()); |
| 6722 if (mode == INCREMENTAL_COMPACTION) { | 6722 if (mode == INCREMENTAL_COMPACTION) { |
| 6723 __ Move(r1, address); | 6723 __ Move(r1, address); |
| 6724 } else { | 6724 } else { |
| 6725 ASSERT(mode == INCREMENTAL); | 6725 ASSERT(mode == INCREMENTAL); |
| 6726 __ ldr(r1, MemOperand(address, 0)); | 6726 __ ldr(r1, MemOperand(address, 0)); |
| 6727 } | 6727 } |
| 6728 __ mov(r2, Operand(ExternalReference::isolate_address())); | 6728 __ mov(r2, Operand(ExternalReference::isolate_address())); |
| 6729 | 6729 |
| 6730 // TODO(gc): Create a fast version of this C function that does not duplicate | |
| 6731 // the checks done in the stub. | |
| 6732 if (mode == INCREMENTAL_COMPACTION) { | 6730 if (mode == INCREMENTAL_COMPACTION) { |
| 6733 __ CallCFunction( | 6731 __ CallCFunction( |
| 6734 ExternalReference::incremental_evacuation_record_write_function( | 6732 ExternalReference::incremental_evacuation_record_write_function( |
| 6735 masm->isolate()), | 6733 masm->isolate()), |
| 6736 argument_count); | 6734 argument_count); |
| 6737 } else { | 6735 } else { |
| 6738 ASSERT(mode == INCREMENTAL); | 6736 ASSERT(mode == INCREMENTAL); |
| 6739 __ CallCFunction( | 6737 __ CallCFunction( |
| 6740 ExternalReference::incremental_marking_record_write_function( | 6738 ExternalReference::incremental_marking_record_write_function( |
| 6741 masm->isolate()), | 6739 masm->isolate()), |
| (...skipping 26 matching lines...) Expand all Loading... |
| 6768 | 6766 |
| 6769 // Fall through when we need to inform the incremental marker. | 6767 // Fall through when we need to inform the incremental marker. |
| 6770 } | 6768 } |
| 6771 | 6769 |
| 6772 | 6770 |
| 6773 #undef __ | 6771 #undef __ |
| 6774 | 6772 |
| 6775 } } // namespace v8::internal | 6773 } } // namespace v8::internal |
| 6776 | 6774 |
| 6777 #endif // V8_TARGET_ARCH_ARM | 6775 #endif // V8_TARGET_ARCH_ARM |
| OLD | NEW |