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/globals.h" | 10 #include "src/globals.h" |
(...skipping 1353 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1364 // Allocates a heap number or jumps to the gc_required label if the young | 1364 // Allocates a heap number or jumps to the gc_required label if the young |
1365 // space is full and a scavenge is needed. | 1365 // space is full and a scavenge is needed. |
1366 // All registers are clobbered. | 1366 // All registers are clobbered. |
1367 // If no heap_number_map register is provided, the function will take care of | 1367 // If no heap_number_map register is provided, the function will take care of |
1368 // loading it. | 1368 // loading it. |
1369 void AllocateHeapNumber(Register result, | 1369 void AllocateHeapNumber(Register result, |
1370 Label* gc_required, | 1370 Label* gc_required, |
1371 Register scratch1, | 1371 Register scratch1, |
1372 Register scratch2, | 1372 Register scratch2, |
1373 CPURegister value = NoFPReg, | 1373 CPURegister value = NoFPReg, |
1374 CPURegister heap_number_map = NoReg); | 1374 CPURegister heap_number_map = NoReg, |
| 1375 MutableMode mode = IMMUTABLE); |
1375 | 1376 |
1376 // --------------------------------------------------------------------------- | 1377 // --------------------------------------------------------------------------- |
1377 // Support functions. | 1378 // Support functions. |
1378 | 1379 |
1379 // Try to get function prototype of a function and puts the value in the | 1380 // Try to get function prototype of a function and puts the value in the |
1380 // result register. Checks that the function really is a function and jumps | 1381 // result register. Checks that the function really is a function and jumps |
1381 // to the miss label if the fast checks fail. The function register will be | 1382 // to the miss label if the fast checks fail. The function register will be |
1382 // untouched; the other registers may be clobbered. | 1383 // untouched; the other registers may be clobbered. |
1383 enum BoundFunctionAction { | 1384 enum BoundFunctionAction { |
1384 kMissOnBoundFunction, | 1385 kMissOnBoundFunction, |
(...skipping 933 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2318 #error "Unsupported option" | 2319 #error "Unsupported option" |
2319 #define CODE_COVERAGE_STRINGIFY(x) #x | 2320 #define CODE_COVERAGE_STRINGIFY(x) #x |
2320 #define CODE_COVERAGE_TOSTRING(x) CODE_COVERAGE_STRINGIFY(x) | 2321 #define CODE_COVERAGE_TOSTRING(x) CODE_COVERAGE_STRINGIFY(x) |
2321 #define __FILE_LINE__ __FILE__ ":" CODE_COVERAGE_TOSTRING(__LINE__) | 2322 #define __FILE_LINE__ __FILE__ ":" CODE_COVERAGE_TOSTRING(__LINE__) |
2322 #define ACCESS_MASM(masm) masm->stop(__FILE_LINE__); masm-> | 2323 #define ACCESS_MASM(masm) masm->stop(__FILE_LINE__); masm-> |
2323 #else | 2324 #else |
2324 #define ACCESS_MASM(masm) masm-> | 2325 #define ACCESS_MASM(masm) masm-> |
2325 #endif | 2326 #endif |
2326 | 2327 |
2327 #endif // V8_ARM64_MACRO_ASSEMBLER_ARM64_H_ | 2328 #endif // V8_ARM64_MACRO_ASSEMBLER_ARM64_H_ |
OLD | NEW |