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 1322 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1333 // If no heap_number_map register is provided, the function will take care of | 1333 // If no heap_number_map register is provided, the function will take care of |
1334 // loading it. | 1334 // loading it. |
1335 void AllocateHeapNumber(Register result, | 1335 void AllocateHeapNumber(Register result, |
1336 Label* gc_required, | 1336 Label* gc_required, |
1337 Register scratch1, | 1337 Register scratch1, |
1338 Register scratch2, | 1338 Register scratch2, |
1339 CPURegister value = NoFPReg, | 1339 CPURegister value = NoFPReg, |
1340 CPURegister heap_number_map = NoReg, | 1340 CPURegister heap_number_map = NoReg, |
1341 MutableMode mode = IMMUTABLE); | 1341 MutableMode mode = IMMUTABLE); |
1342 | 1342 |
| 1343 // Allocate and initialize a JSValue wrapper with the specified {constructor} |
| 1344 // and {value}. |
| 1345 void AllocateJSValue(Register result, Register constructor, Register value, |
| 1346 Register scratch1, Register scratch2, |
| 1347 Label* gc_required); |
| 1348 |
1343 // --------------------------------------------------------------------------- | 1349 // --------------------------------------------------------------------------- |
1344 // Support functions. | 1350 // Support functions. |
1345 | 1351 |
1346 // Machine code version of Map::GetConstructor(). | 1352 // Machine code version of Map::GetConstructor(). |
1347 // |temp| holds |result|'s map when done, and |temp2| its instance type. | 1353 // |temp| holds |result|'s map when done, and |temp2| its instance type. |
1348 void GetMapConstructor(Register result, Register map, Register temp, | 1354 void GetMapConstructor(Register result, Register map, Register temp, |
1349 Register temp2); | 1355 Register temp2); |
1350 | 1356 |
1351 void TryGetFunctionPrototype(Register function, Register result, | 1357 void TryGetFunctionPrototype(Register function, Register result, |
1352 Register scratch, Label* miss); | 1358 Register scratch, Label* miss); |
(...skipping 893 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2246 #error "Unsupported option" | 2252 #error "Unsupported option" |
2247 #define CODE_COVERAGE_STRINGIFY(x) #x | 2253 #define CODE_COVERAGE_STRINGIFY(x) #x |
2248 #define CODE_COVERAGE_TOSTRING(x) CODE_COVERAGE_STRINGIFY(x) | 2254 #define CODE_COVERAGE_TOSTRING(x) CODE_COVERAGE_STRINGIFY(x) |
2249 #define __FILE_LINE__ __FILE__ ":" CODE_COVERAGE_TOSTRING(__LINE__) | 2255 #define __FILE_LINE__ __FILE__ ":" CODE_COVERAGE_TOSTRING(__LINE__) |
2250 #define ACCESS_MASM(masm) masm->stop(__FILE_LINE__); masm-> | 2256 #define ACCESS_MASM(masm) masm->stop(__FILE_LINE__); masm-> |
2251 #else | 2257 #else |
2252 #define ACCESS_MASM(masm) masm-> | 2258 #define ACCESS_MASM(masm) masm-> |
2253 #endif | 2259 #endif |
2254 | 2260 |
2255 #endif // V8_ARM64_MACRO_ASSEMBLER_ARM64_H_ | 2261 #endif // V8_ARM64_MACRO_ASSEMBLER_ARM64_H_ |
OLD | NEW |