OLD | NEW |
1 // Copyright 2013 the V8 project authors. All rights reserved. | 1 // Copyright 2013 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_ARM64_MACRO_ASSEMBLER_ARM64_H_ | 5 #ifndef V8_ARM64_MACRO_ASSEMBLER_ARM64_H_ |
6 #define V8_ARM64_MACRO_ASSEMBLER_ARM64_H_ | 6 #define V8_ARM64_MACRO_ASSEMBLER_ARM64_H_ |
7 | 7 |
8 #include <vector> | 8 #include <vector> |
9 | 9 |
10 #include "src/arm64/assembler-arm64.h" | 10 #include "src/arm64/assembler-arm64.h" |
(...skipping 1354 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1365 Label* gc_required); | 1365 Label* gc_required); |
1366 | 1366 |
1367 // --------------------------------------------------------------------------- | 1367 // --------------------------------------------------------------------------- |
1368 // Support functions. | 1368 // Support functions. |
1369 | 1369 |
1370 // Machine code version of Map::GetConstructor(). | 1370 // Machine code version of Map::GetConstructor(). |
1371 // |temp| holds |result|'s map when done, and |temp2| its instance type. | 1371 // |temp| holds |result|'s map when done, and |temp2| its instance type. |
1372 void GetMapConstructor(Register result, Register map, Register temp, | 1372 void GetMapConstructor(Register result, Register map, Register temp, |
1373 Register temp2); | 1373 Register temp2); |
1374 | 1374 |
1375 void TryGetFunctionPrototype(Register function, Register result, | |
1376 Register scratch, Label* miss); | |
1377 | |
1378 // Compare object type for heap object. heap_object contains a non-Smi | 1375 // Compare object type for heap object. heap_object contains a non-Smi |
1379 // whose object type should be compared with the given type. This both | 1376 // whose object type should be compared with the given type. This both |
1380 // sets the flags and leaves the object type in the type_reg register. | 1377 // sets the flags and leaves the object type in the type_reg register. |
1381 // It leaves the map in the map register (unless the type_reg and map register | 1378 // It leaves the map in the map register (unless the type_reg and map register |
1382 // are the same register). It leaves the heap object in the heap_object | 1379 // are the same register). It leaves the heap object in the heap_object |
1383 // register unless the heap_object register is the same register as one of the | 1380 // register unless the heap_object register is the same register as one of the |
1384 // other registers. | 1381 // other registers. |
1385 void CompareObjectType(Register heap_object, | 1382 void CompareObjectType(Register heap_object, |
1386 Register map, | 1383 Register map, |
1387 Register type_reg, | 1384 Register type_reg, |
(...skipping 794 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2182 class RegisterBits : public BitField<unsigned, 0, 5> {}; | 2179 class RegisterBits : public BitField<unsigned, 0, 5> {}; |
2183 class DeltaBits : public BitField<uint32_t, 5, 32-5> {}; | 2180 class DeltaBits : public BitField<uint32_t, 5, 32-5> {}; |
2184 }; | 2181 }; |
2185 | 2182 |
2186 } // namespace internal | 2183 } // namespace internal |
2187 } // namespace v8 | 2184 } // namespace v8 |
2188 | 2185 |
2189 #define ACCESS_MASM(masm) masm-> | 2186 #define ACCESS_MASM(masm) masm-> |
2190 | 2187 |
2191 #endif // V8_ARM64_MACRO_ASSEMBLER_ARM64_H_ | 2188 #endif // V8_ARM64_MACRO_ASSEMBLER_ARM64_H_ |
OLD | NEW |