| 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 1311 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1322 | 1322 |
| 1323 | 1323 |
| 1324 void MacroAssembler::NumberOfOwnDescriptors(Register dst, Register map) { | 1324 void MacroAssembler::NumberOfOwnDescriptors(Register dst, Register map) { |
| 1325 Ldr(dst, FieldMemOperand(map, Map::kBitField3Offset)); | 1325 Ldr(dst, FieldMemOperand(map, Map::kBitField3Offset)); |
| 1326 DecodeField<Map::NumberOfOwnDescriptorsBits>(dst); | 1326 DecodeField<Map::NumberOfOwnDescriptorsBits>(dst); |
| 1327 } | 1327 } |
| 1328 | 1328 |
| 1329 | 1329 |
| 1330 void MacroAssembler::EnumLengthUntagged(Register dst, Register map) { | 1330 void MacroAssembler::EnumLengthUntagged(Register dst, Register map) { |
| 1331 STATIC_ASSERT(Map::EnumLengthBits::kShift == 0); | 1331 STATIC_ASSERT(Map::EnumLengthBits::kShift == 0); |
| 1332 Ldrsw(dst, UntagSmiFieldMemOperand(map, Map::kBitField3Offset)); | 1332 Ldrsw(dst, FieldMemOperand(map, Map::kBitField3Offset)); |
| 1333 And(dst, dst, Map::EnumLengthBits::kMask); | 1333 And(dst, dst, Map::EnumLengthBits::kMask); |
| 1334 } | 1334 } |
| 1335 | 1335 |
| 1336 | 1336 |
| 1337 void MacroAssembler::EnumLengthSmi(Register dst, Register map) { | 1337 void MacroAssembler::EnumLengthSmi(Register dst, Register map) { |
| 1338 STATIC_ASSERT(Map::EnumLengthBits::kShift == 0); | 1338 EnumLengthUntagged(dst, map); |
| 1339 Ldr(dst, FieldMemOperand(map, Map::kBitField3Offset)); | 1339 SmiTag(dst, dst); |
| 1340 And(dst, dst, Smi::FromInt(Map::EnumLengthBits::kMask)); | |
| 1341 } | 1340 } |
| 1342 | 1341 |
| 1343 | 1342 |
| 1344 void MacroAssembler::CheckEnumCache(Register object, | 1343 void MacroAssembler::CheckEnumCache(Register object, |
| 1345 Register null_value, | 1344 Register null_value, |
| 1346 Register scratch0, | 1345 Register scratch0, |
| 1347 Register scratch1, | 1346 Register scratch1, |
| 1348 Register scratch2, | 1347 Register scratch2, |
| 1349 Register scratch3, | 1348 Register scratch3, |
| 1350 Label* call_runtime) { | 1349 Label* call_runtime) { |
| (...skipping 3161 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 4512 | 4511 |
| 4513 // Fall through if it does not have the right color. | 4512 // Fall through if it does not have the right color. |
| 4514 } | 4513 } |
| 4515 | 4514 |
| 4516 | 4515 |
| 4517 void MacroAssembler::CheckMapDeprecated(Handle<Map> map, | 4516 void MacroAssembler::CheckMapDeprecated(Handle<Map> map, |
| 4518 Register scratch, | 4517 Register scratch, |
| 4519 Label* if_deprecated) { | 4518 Label* if_deprecated) { |
| 4520 if (map->CanBeDeprecated()) { | 4519 if (map->CanBeDeprecated()) { |
| 4521 Mov(scratch, Operand(map)); | 4520 Mov(scratch, Operand(map)); |
| 4522 Ldrsw(scratch, UntagSmiFieldMemOperand(scratch, Map::kBitField3Offset)); | 4521 Ldrsw(scratch, FieldMemOperand(scratch, Map::kBitField3Offset)); |
| 4523 TestAndBranchIfAnySet(scratch, Map::Deprecated::kMask, if_deprecated); | 4522 TestAndBranchIfAnySet(scratch, Map::Deprecated::kMask, if_deprecated); |
| 4524 } | 4523 } |
| 4525 } | 4524 } |
| 4526 | 4525 |
| 4527 | 4526 |
| 4528 void MacroAssembler::JumpIfBlack(Register object, | 4527 void MacroAssembler::JumpIfBlack(Register object, |
| 4529 Register scratch0, | 4528 Register scratch0, |
| 4530 Register scratch1, | 4529 Register scratch1, |
| 4531 Label* on_black) { | 4530 Label* on_black) { |
| 4532 ASSERT(strcmp(Marking::kBlackBitPattern, "10") == 0); | 4531 ASSERT(strcmp(Marking::kBlackBitPattern, "10") == 0); |
| (...skipping 702 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 5235 } | 5234 } |
| 5236 } | 5235 } |
| 5237 | 5236 |
| 5238 | 5237 |
| 5239 #undef __ | 5238 #undef __ |
| 5240 | 5239 |
| 5241 | 5240 |
| 5242 } } // namespace v8::internal | 5241 } } // namespace v8::internal |
| 5243 | 5242 |
| 5244 #endif // V8_TARGET_ARCH_ARM64 | 5243 #endif // V8_TARGET_ARCH_ARM64 |
| OLD | NEW |