OLD | NEW |
1 // Copyright 2014 the V8 project authors. All rights reserved. | 1 // Copyright 2014 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_S390_MACRO_ASSEMBLER_S390_H_ | 5 #ifndef V8_S390_MACRO_ASSEMBLER_S390_H_ |
6 #define V8_S390_MACRO_ASSEMBLER_S390_H_ | 6 #define V8_S390_MACRO_ASSEMBLER_S390_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 1043 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1054 Register end_address, Register filler); | 1054 Register end_address, Register filler); |
1055 | 1055 |
1056 // --------------------------------------------------------------------------- | 1056 // --------------------------------------------------------------------------- |
1057 // Support functions. | 1057 // Support functions. |
1058 | 1058 |
1059 // Machine code version of Map::GetConstructor(). | 1059 // Machine code version of Map::GetConstructor(). |
1060 // |temp| holds |result|'s map when done, and |temp2| its instance type. | 1060 // |temp| holds |result|'s map when done, and |temp2| its instance type. |
1061 void GetMapConstructor(Register result, Register map, Register temp, | 1061 void GetMapConstructor(Register result, Register map, Register temp, |
1062 Register temp2); | 1062 Register temp2); |
1063 | 1063 |
1064 // Try to get function prototype of a function and puts the value in | |
1065 // the result register. Checks that the function really is a | |
1066 // function and jumps to the miss label if the fast checks fail. The | |
1067 // function register will be untouched; the other registers may be | |
1068 // clobbered. | |
1069 void TryGetFunctionPrototype(Register function, Register result, | |
1070 Register scratch, Label* miss); | |
1071 | |
1072 // Compare object type for heap object. heap_object contains a non-Smi | 1064 // Compare object type for heap object. heap_object contains a non-Smi |
1073 // whose object type should be compared with the given type. This both | 1065 // whose object type should be compared with the given type. This both |
1074 // sets the flags and leaves the object type in the type_reg register. | 1066 // sets the flags and leaves the object type in the type_reg register. |
1075 // It leaves the map in the map register (unless the type_reg and map register | 1067 // It leaves the map in the map register (unless the type_reg and map register |
1076 // are the same register). It leaves the heap object in the heap_object | 1068 // are the same register). It leaves the heap object in the heap_object |
1077 // register unless the heap_object register is the same register as one of the | 1069 // register unless the heap_object register is the same register as one of the |
1078 // other registers. | 1070 // other registers. |
1079 // Type_reg can be no_reg. In that case ip is used. | 1071 // Type_reg can be no_reg. In that case ip is used. |
1080 void CompareObjectType(Register heap_object, Register map, Register type_reg, | 1072 void CompareObjectType(Register heap_object, Register map, Register type_reg, |
1081 InstanceType type); | 1073 InstanceType type); |
(...skipping 767 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1849 inline MemOperand NativeContextMemOperand() { | 1841 inline MemOperand NativeContextMemOperand() { |
1850 return ContextMemOperand(cp, Context::NATIVE_CONTEXT_INDEX); | 1842 return ContextMemOperand(cp, Context::NATIVE_CONTEXT_INDEX); |
1851 } | 1843 } |
1852 | 1844 |
1853 #define ACCESS_MASM(masm) masm-> | 1845 #define ACCESS_MASM(masm) masm-> |
1854 | 1846 |
1855 } // namespace internal | 1847 } // namespace internal |
1856 } // namespace v8 | 1848 } // namespace v8 |
1857 | 1849 |
1858 #endif // V8_S390_MACRO_ASSEMBLER_S390_H_ | 1850 #endif // V8_S390_MACRO_ASSEMBLER_S390_H_ |
OLD | NEW |