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 700 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
711 void BooleanBitTest(Register object, int field_offset, int bit_index); | 711 void BooleanBitTest(Register object, int field_offset, int bit_index); |
712 | 712 |
713 // Check if result is zero and op is negative. | 713 // Check if result is zero and op is negative. |
714 void NegativeZeroTest(Register result, Register op, Label* then_label); | 714 void NegativeZeroTest(Register result, Register op, Label* then_label); |
715 | 715 |
716 // Check if result is zero and any of op1 and op2 are negative. | 716 // Check if result is zero and any of op1 and op2 are negative. |
717 // Register scratch is destroyed, and it must be different from op2. | 717 // Register scratch is destroyed, and it must be different from op2. |
718 void NegativeZeroTest(Register result, Register op1, Register op2, | 718 void NegativeZeroTest(Register result, Register op1, Register op2, |
719 Register scratch, Label* then_label); | 719 Register scratch, Label* then_label); |
720 | 720 |
| 721 // Machine code version of Map::GetConstructor(). |
| 722 // |temp| holds |result|'s map when done. |
| 723 void GetMapConstructor(Register result, Register map, Register temp); |
| 724 |
721 // Try to get function prototype of a function and puts the value in | 725 // Try to get function prototype of a function and puts the value in |
722 // the result register. Checks that the function really is a | 726 // the result register. Checks that the function really is a |
723 // function and jumps to the miss label if the fast checks fail. The | 727 // function and jumps to the miss label if the fast checks fail. The |
724 // function register will be untouched; the other registers may be | 728 // function register will be untouched; the other registers may be |
725 // clobbered. | 729 // clobbered. |
726 void TryGetFunctionPrototype(Register function, | 730 void TryGetFunctionPrototype(Register function, |
727 Register result, | 731 Register result, |
728 Register scratch, | 732 Register scratch, |
729 Label* miss, | 733 Label* miss, |
730 bool miss_on_bound_function = false); | 734 bool miss_on_bound_function = false); |
(...skipping 362 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1093 } \ | 1097 } \ |
1094 masm-> | 1098 masm-> |
1095 #else | 1099 #else |
1096 #define ACCESS_MASM(masm) masm-> | 1100 #define ACCESS_MASM(masm) masm-> |
1097 #endif | 1101 #endif |
1098 | 1102 |
1099 | 1103 |
1100 } } // namespace v8::internal | 1104 } } // namespace v8::internal |
1101 | 1105 |
1102 #endif // V8_IA32_MACRO_ASSEMBLER_IA32_H_ | 1106 #endif // V8_IA32_MACRO_ASSEMBLER_IA32_H_ |
OLD | NEW |