| 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 4071 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 4082 | 4082 |
| 4083 void MacroAssembler::JumpIfBlack(Register object, | 4083 void MacroAssembler::JumpIfBlack(Register object, |
| 4084 Register scratch0, | 4084 Register scratch0, |
| 4085 Register scratch1, | 4085 Register scratch1, |
| 4086 Label* on_black) { | 4086 Label* on_black) { |
| 4087 ASSERT(strcmp(Marking::kBlackBitPattern, "10") == 0); | 4087 ASSERT(strcmp(Marking::kBlackBitPattern, "10") == 0); |
| 4088 HasColor(object, scratch0, scratch1, on_black, 1, 0); // kBlackBitPattern. | 4088 HasColor(object, scratch0, scratch1, on_black, 1, 0); // kBlackBitPattern. |
| 4089 } | 4089 } |
| 4090 | 4090 |
| 4091 | 4091 |
| 4092 void MacroAssembler::GetRelocatedValueLocation(Register ldr_location, |
| 4093 Register result) { |
| 4094 ASSERT(!result.Is(ldr_location)); |
| 4095 const uint32_t kLdrLitOffset_lsb = 5; |
| 4096 const uint32_t kLdrLitOffset_width = 19; |
| 4097 Ldr(result, MemOperand(ldr_location)); |
| 4098 if (emit_debug_code()) { |
| 4099 And(result, result, LoadLiteralFMask); |
| 4100 Cmp(result, LoadLiteralFixed); |
| 4101 Check(eq, "The instruction to patch should be a load literal."); |
| 4102 // The instruction was clobbered. Reload it. |
| 4103 Ldr(result, MemOperand(ldr_location)); |
| 4104 } |
| 4105 Sbfx(result, result, kLdrLitOffset_lsb, kLdrLitOffset_width); |
| 4106 Add(result, ldr_location, Operand(result, LSL, kWordSizeInBytesLog2)); |
| 4107 } |
| 4108 |
| 4109 |
| 4092 void MacroAssembler::EnsureNotWhite( | 4110 void MacroAssembler::EnsureNotWhite( |
| 4093 Register value, | 4111 Register value, |
| 4094 Register bitmap_scratch, | 4112 Register bitmap_scratch, |
| 4095 Register shift_scratch, | 4113 Register shift_scratch, |
| 4096 Register load_scratch, | 4114 Register load_scratch, |
| 4097 Register length_scratch, | 4115 Register length_scratch, |
| 4098 Label* value_is_white_and_not_data) { | 4116 Label* value_is_white_and_not_data) { |
| 4099 ASSERT(!AreAliased( | 4117 ASSERT(!AreAliased( |
| 4100 value, bitmap_scratch, shift_scratch, load_scratch, length_scratch)); | 4118 value, bitmap_scratch, shift_scratch, load_scratch, length_scratch)); |
| 4101 | 4119 |
| (...skipping 606 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 4708 } | 4726 } |
| 4709 } | 4727 } |
| 4710 | 4728 |
| 4711 | 4729 |
| 4712 #undef __ | 4730 #undef __ |
| 4713 | 4731 |
| 4714 | 4732 |
| 4715 } } // namespace v8::internal | 4733 } } // namespace v8::internal |
| 4716 | 4734 |
| 4717 #endif // V8_TARGET_ARCH_A64 | 4735 #endif // V8_TARGET_ARCH_A64 |
| OLD | NEW |