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_ARM_MACRO_ASSEMBLER_ARM_H_ | 5 #ifndef V8_ARM_MACRO_ASSEMBLER_ARM_H_ |
6 #define V8_ARM_MACRO_ASSEMBLER_ARM_H_ | 6 #define V8_ARM_MACRO_ASSEMBLER_ARM_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 817 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
828 Register end_address, Register filler); | 828 Register end_address, Register filler); |
829 | 829 |
830 // --------------------------------------------------------------------------- | 830 // --------------------------------------------------------------------------- |
831 // Support functions. | 831 // Support functions. |
832 | 832 |
833 // Machine code version of Map::GetConstructor(). | 833 // Machine code version of Map::GetConstructor(). |
834 // |temp| holds |result|'s map when done, and |temp2| its instance type. | 834 // |temp| holds |result|'s map when done, and |temp2| its instance type. |
835 void GetMapConstructor(Register result, Register map, Register temp, | 835 void GetMapConstructor(Register result, Register map, Register temp, |
836 Register temp2); | 836 Register temp2); |
837 | 837 |
838 // Try to get function prototype of a function and puts the value in | |
839 // the result register. Checks that the function really is a | |
840 // function and jumps to the miss label if the fast checks fail. The | |
841 // function register will be untouched; the other registers may be | |
842 // clobbered. | |
843 void TryGetFunctionPrototype(Register function, Register result, | |
844 Register scratch, Label* miss); | |
845 | |
846 // Compare object type for heap object. heap_object contains a non-Smi | 838 // Compare object type for heap object. heap_object contains a non-Smi |
847 // whose object type should be compared with the given type. This both | 839 // whose object type should be compared with the given type. This both |
848 // sets the flags and leaves the object type in the type_reg register. | 840 // sets the flags and leaves the object type in the type_reg register. |
849 // It leaves the map in the map register (unless the type_reg and map register | 841 // It leaves the map in the map register (unless the type_reg and map register |
850 // are the same register). It leaves the heap object in the heap_object | 842 // are the same register). It leaves the heap object in the heap_object |
851 // register unless the heap_object register is the same register as one of the | 843 // register unless the heap_object register is the same register as one of the |
852 // other registers. | 844 // other registers. |
853 // Type_reg can be no_reg. In that case ip is used. | 845 // Type_reg can be no_reg. In that case ip is used. |
854 void CompareObjectType(Register heap_object, | 846 void CompareObjectType(Register heap_object, |
855 Register map, | 847 Register map, |
(...skipping 662 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1518 inline MemOperand NativeContextMemOperand() { | 1510 inline MemOperand NativeContextMemOperand() { |
1519 return ContextMemOperand(cp, Context::NATIVE_CONTEXT_INDEX); | 1511 return ContextMemOperand(cp, Context::NATIVE_CONTEXT_INDEX); |
1520 } | 1512 } |
1521 | 1513 |
1522 #define ACCESS_MASM(masm) masm-> | 1514 #define ACCESS_MASM(masm) masm-> |
1523 | 1515 |
1524 } // namespace internal | 1516 } // namespace internal |
1525 } // namespace v8 | 1517 } // namespace v8 |
1526 | 1518 |
1527 #endif // V8_ARM_MACRO_ASSEMBLER_ARM_H_ | 1519 #endif // V8_ARM_MACRO_ASSEMBLER_ARM_H_ |
OLD | NEW |