| OLD | NEW |
| 1 // Copyright 2013 the V8 project authors. All rights reserved. | 1 // Copyright 2013 the V8 project authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "v8.h" | 5 #include "v8.h" |
| 6 | 6 |
| 7 #if V8_TARGET_ARCH_ARM64 | 7 #if V8_TARGET_ARCH_ARM64 |
| 8 | 8 |
| 9 #include "bootstrapper.h" | 9 #include "bootstrapper.h" |
| 10 #include "codegen.h" | 10 #include "codegen.h" |
| (...skipping 1307 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1318 | 1318 |
| 1319 | 1319 |
| 1320 void MacroAssembler::NumberOfOwnDescriptors(Register dst, Register map) { | 1320 void MacroAssembler::NumberOfOwnDescriptors(Register dst, Register map) { |
| 1321 Ldr(dst, FieldMemOperand(map, Map::kBitField3Offset)); | 1321 Ldr(dst, FieldMemOperand(map, Map::kBitField3Offset)); |
| 1322 DecodeField<Map::NumberOfOwnDescriptorsBits>(dst); | 1322 DecodeField<Map::NumberOfOwnDescriptorsBits>(dst); |
| 1323 } | 1323 } |
| 1324 | 1324 |
| 1325 | 1325 |
| 1326 void MacroAssembler::EnumLengthUntagged(Register dst, Register map) { | 1326 void MacroAssembler::EnumLengthUntagged(Register dst, Register map) { |
| 1327 STATIC_ASSERT(Map::EnumLengthBits::kShift == 0); | 1327 STATIC_ASSERT(Map::EnumLengthBits::kShift == 0); |
| 1328 Ldrsw(dst, UntagSmiFieldMemOperand(map, Map::kBitField3Offset)); | 1328 Ldrsw(dst, FieldMemOperand(map, Map::kBitField3Offset)); |
| 1329 And(dst, dst, Map::EnumLengthBits::kMask); | 1329 And(dst, dst, Map::EnumLengthBits::kMask); |
| 1330 } | 1330 } |
| 1331 | 1331 |
| 1332 | 1332 |
| 1333 void MacroAssembler::EnumLengthSmi(Register dst, Register map) { | 1333 void MacroAssembler::EnumLengthSmi(Register dst, Register map) { |
| 1334 STATIC_ASSERT(Map::EnumLengthBits::kShift == 0); | 1334 EnumLengthUntagged(dst, map); |
| 1335 Ldr(dst, FieldMemOperand(map, Map::kBitField3Offset)); | 1335 SmiTag(dst, dst); |
| 1336 And(dst, dst, Smi::FromInt(Map::EnumLengthBits::kMask)); | |
| 1337 } | 1336 } |
| 1338 | 1337 |
| 1339 | 1338 |
| 1340 void MacroAssembler::CheckEnumCache(Register object, | 1339 void MacroAssembler::CheckEnumCache(Register object, |
| 1341 Register null_value, | 1340 Register null_value, |
| 1342 Register scratch0, | 1341 Register scratch0, |
| 1343 Register scratch1, | 1342 Register scratch1, |
| 1344 Register scratch2, | 1343 Register scratch2, |
| 1345 Register scratch3, | 1344 Register scratch3, |
| 1346 Label* call_runtime) { | 1345 Label* call_runtime) { |
| (...skipping 3161 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 4508 | 4507 |
| 4509 // Fall through if it does not have the right color. | 4508 // Fall through if it does not have the right color. |
| 4510 } | 4509 } |
| 4511 | 4510 |
| 4512 | 4511 |
| 4513 void MacroAssembler::CheckMapDeprecated(Handle<Map> map, | 4512 void MacroAssembler::CheckMapDeprecated(Handle<Map> map, |
| 4514 Register scratch, | 4513 Register scratch, |
| 4515 Label* if_deprecated) { | 4514 Label* if_deprecated) { |
| 4516 if (map->CanBeDeprecated()) { | 4515 if (map->CanBeDeprecated()) { |
| 4517 Mov(scratch, Operand(map)); | 4516 Mov(scratch, Operand(map)); |
| 4518 Ldrsw(scratch, UntagSmiFieldMemOperand(scratch, Map::kBitField3Offset)); | 4517 Ldrsw(scratch, FieldMemOperand(scratch, Map::kBitField3Offset)); |
| 4519 TestAndBranchIfAnySet(scratch, Map::Deprecated::kMask, if_deprecated); | 4518 TestAndBranchIfAnySet(scratch, Map::Deprecated::kMask, if_deprecated); |
| 4520 } | 4519 } |
| 4521 } | 4520 } |
| 4522 | 4521 |
| 4523 | 4522 |
| 4524 void MacroAssembler::JumpIfBlack(Register object, | 4523 void MacroAssembler::JumpIfBlack(Register object, |
| 4525 Register scratch0, | 4524 Register scratch0, |
| 4526 Register scratch1, | 4525 Register scratch1, |
| 4527 Label* on_black) { | 4526 Label* on_black) { |
| 4528 ASSERT(strcmp(Marking::kBlackBitPattern, "10") == 0); | 4527 ASSERT(strcmp(Marking::kBlackBitPattern, "10") == 0); |
| (...skipping 702 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 5231 } | 5230 } |
| 5232 } | 5231 } |
| 5233 | 5232 |
| 5234 | 5233 |
| 5235 #undef __ | 5234 #undef __ |
| 5236 | 5235 |
| 5237 | 5236 |
| 5238 } } // namespace v8::internal | 5237 } } // namespace v8::internal |
| 5239 | 5238 |
| 5240 #endif // V8_TARGET_ARCH_ARM64 | 5239 #endif // V8_TARGET_ARCH_ARM64 |
| OLD | NEW |