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 2864 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2875 IsOnEvacuationCandidate(*map)); | 2875 IsOnEvacuationCandidate(*map)); |
2876 if (mask < (1 << kBitsPerByte)) { | 2876 if (mask < (1 << kBitsPerByte)) { |
2877 test_b(Operand::StaticVariable(reference), static_cast<uint8_t>(mask)); | 2877 test_b(Operand::StaticVariable(reference), static_cast<uint8_t>(mask)); |
2878 } else { | 2878 } else { |
2879 test(Operand::StaticVariable(reference), Immediate(mask)); | 2879 test(Operand::StaticVariable(reference), Immediate(mask)); |
2880 } | 2880 } |
2881 j(cc, condition_met, condition_met_distance); | 2881 j(cc, condition_met, condition_met_distance); |
2882 } | 2882 } |
2883 | 2883 |
2884 | 2884 |
| 2885 void MacroAssembler::CheckMapDeprecated(Handle<Map> map, |
| 2886 Register scratch, |
| 2887 Label* if_deprecated) { |
| 2888 if (map->CanBeDeprecated()) { |
| 2889 mov(scratch, map); |
| 2890 mov(scratch, FieldOperand(scratch, Map::kBitField3Offset)); |
| 2891 and_(scratch, Immediate(Smi::FromInt(Map::Deprecated::kMask))); |
| 2892 j(not_zero, if_deprecated); |
| 2893 } |
| 2894 } |
| 2895 |
| 2896 |
2885 void MacroAssembler::JumpIfBlack(Register object, | 2897 void MacroAssembler::JumpIfBlack(Register object, |
2886 Register scratch0, | 2898 Register scratch0, |
2887 Register scratch1, | 2899 Register scratch1, |
2888 Label* on_black, | 2900 Label* on_black, |
2889 Label::Distance on_black_near) { | 2901 Label::Distance on_black_near) { |
2890 HasColor(object, scratch0, scratch1, | 2902 HasColor(object, scratch0, scratch1, |
2891 on_black, on_black_near, | 2903 on_black, on_black_near, |
2892 1, 0); // kBlackBitPattern. | 2904 1, 0); // kBlackBitPattern. |
2893 ASSERT(strcmp(Marking::kBlackBitPattern, "10") == 0); | 2905 ASSERT(strcmp(Marking::kBlackBitPattern, "10") == 0); |
2894 } | 2906 } |
(...skipping 217 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3112 j(greater, &no_info_available); | 3124 j(greater, &no_info_available); |
3113 cmp(MemOperand(scratch_reg, -AllocationSiteInfo::kSize), | 3125 cmp(MemOperand(scratch_reg, -AllocationSiteInfo::kSize), |
3114 Immediate(Handle<Map>(isolate()->heap()->allocation_site_info_map()))); | 3126 Immediate(Handle<Map>(isolate()->heap()->allocation_site_info_map()))); |
3115 bind(&no_info_available); | 3127 bind(&no_info_available); |
3116 } | 3128 } |
3117 | 3129 |
3118 | 3130 |
3119 } } // namespace v8::internal | 3131 } } // namespace v8::internal |
3120 | 3132 |
3121 #endif // V8_TARGET_ARCH_IA32 | 3133 #endif // V8_TARGET_ARCH_IA32 |
OLD | NEW |