| OLD | NEW |
| 1 // Copyright 2013 the V8 project authors. All rights reserved. | 1 // Copyright 2013 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 3963 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3974 // | 3974 // |
| 3975 // The register 'object' contains a heap object pointer. The heap object tag is | 3975 // The register 'object' contains a heap object pointer. The heap object tag is |
| 3976 // shifted away. | 3976 // shifted away. |
| 3977 void MacroAssembler::RecordWrite(Register object, | 3977 void MacroAssembler::RecordWrite(Register object, |
| 3978 Register address, | 3978 Register address, |
| 3979 Register value, | 3979 Register value, |
| 3980 LinkRegisterStatus lr_status, | 3980 LinkRegisterStatus lr_status, |
| 3981 SaveFPRegsMode fp_mode, | 3981 SaveFPRegsMode fp_mode, |
| 3982 RememberedSetAction remembered_set_action, | 3982 RememberedSetAction remembered_set_action, |
| 3983 SmiCheck smi_check) { | 3983 SmiCheck smi_check) { |
| 3984 ASSERT(!AreAliased(object, value)); |
| 3985 |
| 3984 if (emit_debug_code()) { | 3986 if (emit_debug_code()) { |
| 3985 Ldr(Tmp0(), MemOperand(address)); | 3987 Ldr(Tmp0(), MemOperand(address)); |
| 3986 Cmp(Tmp0(), value); | 3988 Cmp(Tmp0(), value); |
| 3987 Check(eq, kWrongAddressOrValuePassedToRecordWrite); | 3989 Check(eq, kWrongAddressOrValuePassedToRecordWrite); |
| 3988 } | 3990 } |
| 3989 | 3991 |
| 3990 // Count number of write barriers in generated code. | 3992 // Count number of write barriers in generated code. |
| 3991 isolate()->counters()->write_barriers_static()->Increment(); | 3993 isolate()->counters()->write_barriers_static()->Increment(); |
| 3992 // TODO(mstarzinger): Dynamic counter missing. | 3994 // TODO(mstarzinger): Dynamic counter missing. |
| 3993 | 3995 |
| (...skipping 808 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 4802 } | 4804 } |
| 4803 } | 4805 } |
| 4804 | 4806 |
| 4805 | 4807 |
| 4806 #undef __ | 4808 #undef __ |
| 4807 | 4809 |
| 4808 | 4810 |
| 4809 } } // namespace v8::internal | 4811 } } // namespace v8::internal |
| 4810 | 4812 |
| 4811 #endif // V8_TARGET_ARCH_A64 | 4813 #endif // V8_TARGET_ARCH_A64 |
| OLD | NEW |