OLD | NEW |
1 // Copyright 2012 the V8 project authors. All rights reserved. | 1 // Copyright 2012 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 #ifndef V8_IA32_MACRO_ASSEMBLER_IA32_H_ | 5 #ifndef V8_IA32_MACRO_ASSEMBLER_IA32_H_ |
6 #define V8_IA32_MACRO_ASSEMBLER_IA32_H_ | 6 #define V8_IA32_MACRO_ASSEMBLER_IA32_H_ |
7 | 7 |
8 #include "src/assembler.h" | 8 #include "src/assembler.h" |
9 #include "src/bailout-reason.h" | 9 #include "src/bailout-reason.h" |
10 #include "src/frames.h" | 10 #include "src/frames.h" |
(...skipping 499 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
510 inline void JumpIfNotSmi(Register value, | 510 inline void JumpIfNotSmi(Register value, |
511 Label* not_smi_label, | 511 Label* not_smi_label, |
512 Label::Distance distance = Label::kFar) { | 512 Label::Distance distance = Label::kFar) { |
513 test(value, Immediate(kSmiTagMask)); | 513 test(value, Immediate(kSmiTagMask)); |
514 j(not_zero, not_smi_label, distance); | 514 j(not_zero, not_smi_label, distance); |
515 } | 515 } |
516 | 516 |
517 void LoadInstanceDescriptors(Register map, Register descriptors); | 517 void LoadInstanceDescriptors(Register map, Register descriptors); |
518 void EnumLength(Register dst, Register map); | 518 void EnumLength(Register dst, Register map); |
519 void NumberOfOwnDescriptors(Register dst, Register map); | 519 void NumberOfOwnDescriptors(Register dst, Register map); |
| 520 void LoadAccessor(Register dst, Register holder, int accessor_index, |
| 521 AccessorComponent accessor); |
520 | 522 |
521 template<typename Field> | 523 template<typename Field> |
522 void DecodeField(Register reg) { | 524 void DecodeField(Register reg) { |
523 static const int shift = Field::kShift; | 525 static const int shift = Field::kShift; |
524 static const int mask = Field::kMask >> Field::kShift; | 526 static const int mask = Field::kMask >> Field::kShift; |
525 if (shift != 0) { | 527 if (shift != 0) { |
526 sar(reg, shift); | 528 sar(reg, shift); |
527 } | 529 } |
528 and_(reg, Immediate(mask)); | 530 and_(reg, Immediate(mask)); |
529 } | 531 } |
(...skipping 559 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1089 } \ | 1091 } \ |
1090 masm-> | 1092 masm-> |
1091 #else | 1093 #else |
1092 #define ACCESS_MASM(masm) masm-> | 1094 #define ACCESS_MASM(masm) masm-> |
1093 #endif | 1095 #endif |
1094 | 1096 |
1095 | 1097 |
1096 } } // namespace v8::internal | 1098 } } // namespace v8::internal |
1097 | 1099 |
1098 #endif // V8_IA32_MACRO_ASSEMBLER_IA32_H_ | 1100 #endif // V8_IA32_MACRO_ASSEMBLER_IA32_H_ |
OLD | NEW |