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/bailout-reason.h" | 10 #include "src/bailout-reason.h" |
(...skipping 1360 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1371 | 1371 |
1372 // Try to get function prototype of a function and puts the value in the | 1372 // Try to get function prototype of a function and puts the value in the |
1373 // result register. Checks that the function really is a function and jumps | 1373 // result register. Checks that the function really is a function and jumps |
1374 // to the miss label if the fast checks fail. The function register will be | 1374 // to the miss label if the fast checks fail. The function register will be |
1375 // untouched; the other registers may be clobbered. | 1375 // untouched; the other registers may be clobbered. |
1376 enum BoundFunctionAction { | 1376 enum BoundFunctionAction { |
1377 kMissOnBoundFunction, | 1377 kMissOnBoundFunction, |
1378 kDontMissOnBoundFunction | 1378 kDontMissOnBoundFunction |
1379 }; | 1379 }; |
1380 | 1380 |
| 1381 // Machine code version of Map::GetConstructor(). |
| 1382 // |temp| holds |result|'s map when done, and |temp2| its instance type. |
| 1383 void GetMapConstructor(Register result, Register map, Register temp, |
| 1384 Register temp2); |
| 1385 |
1381 void TryGetFunctionPrototype(Register function, | 1386 void TryGetFunctionPrototype(Register function, |
1382 Register result, | 1387 Register result, |
1383 Register scratch, | 1388 Register scratch, |
1384 Label* miss, | 1389 Label* miss, |
1385 BoundFunctionAction action = | 1390 BoundFunctionAction action = |
1386 kDontMissOnBoundFunction); | 1391 kDontMissOnBoundFunction); |
1387 | 1392 |
1388 // Compare object type for heap object. heap_object contains a non-Smi | 1393 // Compare object type for heap object. heap_object contains a non-Smi |
1389 // whose object type should be compared with the given type. This both | 1394 // whose object type should be compared with the given type. This both |
1390 // sets the flags and leaves the object type in the type_reg register. | 1395 // sets the flags and leaves the object type in the type_reg register. |
(...skipping 926 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2317 #error "Unsupported option" | 2322 #error "Unsupported option" |
2318 #define CODE_COVERAGE_STRINGIFY(x) #x | 2323 #define CODE_COVERAGE_STRINGIFY(x) #x |
2319 #define CODE_COVERAGE_TOSTRING(x) CODE_COVERAGE_STRINGIFY(x) | 2324 #define CODE_COVERAGE_TOSTRING(x) CODE_COVERAGE_STRINGIFY(x) |
2320 #define __FILE_LINE__ __FILE__ ":" CODE_COVERAGE_TOSTRING(__LINE__) | 2325 #define __FILE_LINE__ __FILE__ ":" CODE_COVERAGE_TOSTRING(__LINE__) |
2321 #define ACCESS_MASM(masm) masm->stop(__FILE_LINE__); masm-> | 2326 #define ACCESS_MASM(masm) masm->stop(__FILE_LINE__); masm-> |
2322 #else | 2327 #else |
2323 #define ACCESS_MASM(masm) masm-> | 2328 #define ACCESS_MASM(masm) masm-> |
2324 #endif | 2329 #endif |
2325 | 2330 |
2326 #endif // V8_ARM64_MACRO_ASSEMBLER_ARM64_H_ | 2331 #endif // V8_ARM64_MACRO_ASSEMBLER_ARM64_H_ |
OLD | NEW |