OLD | NEW |
1 // Copyright 2012 the V8 project authors. All rights reserved. | 1 // Copyright 2012 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 3384 matching lines...) Loading... |
3395 int mask, | 3395 int mask, |
3396 Condition cc, | 3396 Condition cc, |
3397 Label* condition_met) { | 3397 Label* condition_met) { |
3398 Bfc(scratch, object, 0, kPageSizeBits); | 3398 Bfc(scratch, object, 0, kPageSizeBits); |
3399 ldr(scratch, MemOperand(scratch, MemoryChunk::kFlagsOffset)); | 3399 ldr(scratch, MemOperand(scratch, MemoryChunk::kFlagsOffset)); |
3400 tst(scratch, Operand(mask)); | 3400 tst(scratch, Operand(mask)); |
3401 b(cc, condition_met); | 3401 b(cc, condition_met); |
3402 } | 3402 } |
3403 | 3403 |
3404 | 3404 |
| 3405 void MacroAssembler::CheckMapDeprecated(Handle<Map> map, |
| 3406 Register scratch, |
| 3407 Label* if_deprecated) { |
| 3408 if (map->CanBeDeprecated()) { |
| 3409 mov(scratch, Operand(map)); |
| 3410 ldr(scratch, FieldMemOperand(scratch, Map::kBitField3Offset)); |
| 3411 tst(scratch, Operand(Smi::FromInt(Map::Deprecated::kMask))); |
| 3412 b(ne, if_deprecated); |
| 3413 } |
| 3414 } |
| 3415 |
| 3416 |
3405 void MacroAssembler::JumpIfBlack(Register object, | 3417 void MacroAssembler::JumpIfBlack(Register object, |
3406 Register scratch0, | 3418 Register scratch0, |
3407 Register scratch1, | 3419 Register scratch1, |
3408 Label* on_black) { | 3420 Label* on_black) { |
3409 HasColor(object, scratch0, scratch1, on_black, 1, 0); // kBlackBitPattern. | 3421 HasColor(object, scratch0, scratch1, on_black, 1, 0); // kBlackBitPattern. |
3410 ASSERT(strcmp(Marking::kBlackBitPattern, "10") == 0); | 3422 ASSERT(strcmp(Marking::kBlackBitPattern, "10") == 0); |
3411 } | 3423 } |
3412 | 3424 |
3413 | 3425 |
3414 void MacroAssembler::HasColor(Register object, | 3426 void MacroAssembler::HasColor(Register object, |
(...skipping 334 matching lines...) Loading... |
3749 void CodePatcher::EmitCondition(Condition cond) { | 3761 void CodePatcher::EmitCondition(Condition cond) { |
3750 Instr instr = Assembler::instr_at(masm_.pc_); | 3762 Instr instr = Assembler::instr_at(masm_.pc_); |
3751 instr = (instr & ~kCondMask) | cond; | 3763 instr = (instr & ~kCondMask) | cond; |
3752 masm_.emit(instr); | 3764 masm_.emit(instr); |
3753 } | 3765 } |
3754 | 3766 |
3755 | 3767 |
3756 } } // namespace v8::internal | 3768 } } // namespace v8::internal |
3757 | 3769 |
3758 #endif // V8_TARGET_ARCH_ARM | 3770 #endif // V8_TARGET_ARCH_ARM |
OLD | NEW |