| 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 3955 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3966 // | 3966 // |
| 3967 // The register 'object' contains a heap object pointer. The heap object tag is | 3967 // The register 'object' contains a heap object pointer. The heap object tag is |
| 3968 // shifted away. | 3968 // shifted away. |
| 3969 void MacroAssembler::RecordWrite(Register object, | 3969 void MacroAssembler::RecordWrite(Register object, |
| 3970 Register address, | 3970 Register address, |
| 3971 Register value, | 3971 Register value, |
| 3972 LinkRegisterStatus lr_status, | 3972 LinkRegisterStatus lr_status, |
| 3973 SaveFPRegsMode fp_mode, | 3973 SaveFPRegsMode fp_mode, |
| 3974 RememberedSetAction remembered_set_action, | 3974 RememberedSetAction remembered_set_action, |
| 3975 SmiCheck smi_check) { | 3975 SmiCheck smi_check) { |
| 3976 ASM_LOCATION("MacroAssembler::RecordWrite"); |
| 3976 ASSERT(!AreAliased(object, value)); | 3977 ASSERT(!AreAliased(object, value)); |
| 3977 | 3978 |
| 3978 if (emit_debug_code()) { | 3979 if (emit_debug_code()) { |
| 3979 Ldr(Tmp0(), MemOperand(address)); | 3980 Ldr(Tmp0(), MemOperand(address)); |
| 3980 Cmp(Tmp0(), value); | 3981 Cmp(Tmp0(), value); |
| 3981 Check(eq, kWrongAddressOrValuePassedToRecordWrite); | 3982 Check(eq, kWrongAddressOrValuePassedToRecordWrite); |
| 3982 } | 3983 } |
| 3983 | 3984 |
| 3984 // Count number of write barriers in generated code. | 3985 // Count number of write barriers in generated code. |
| 3985 isolate()->counters()->write_barriers_static()->Increment(); | 3986 isolate()->counters()->write_barriers_static()->Increment(); |
| (...skipping 810 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 4796 } | 4797 } |
| 4797 } | 4798 } |
| 4798 | 4799 |
| 4799 | 4800 |
| 4800 #undef __ | 4801 #undef __ |
| 4801 | 4802 |
| 4802 | 4803 |
| 4803 } } // namespace v8::internal | 4804 } } // namespace v8::internal |
| 4804 | 4805 |
| 4805 #endif // V8_TARGET_ARCH_A64 | 4806 #endif // V8_TARGET_ARCH_A64 |
| OLD | NEW |