Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 // Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file |
| 2 // for details. All rights reserved. Use of this source code is governed by a | 2 // for details. All rights reserved. Use of this source code is governed by a |
| 3 // BSD-style license that can be found in the LICENSE file. | 3 // BSD-style license that can be found in the LICENSE file. |
| 4 | 4 |
| 5 #ifndef VM_ASSEMBLER_ARM64_H_ | 5 #ifndef VM_ASSEMBLER_ARM64_H_ |
| 6 #define VM_ASSEMBLER_ARM64_H_ | 6 #define VM_ASSEMBLER_ARM64_H_ |
| 7 | 7 |
| 8 #ifndef VM_ASSEMBLER_H_ | 8 #ifndef VM_ASSEMBLER_H_ |
| 9 #error Do not include assembler_arm64.h directly; use assembler.h instead. | 9 #error Do not include assembler_arm64.h directly; use assembler.h instead. |
| 10 #endif | 10 #endif |
| (...skipping 1270 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 1281 int32_t offset, | 1281 int32_t offset, |
| 1282 Register value); | 1282 Register value); |
| 1283 void StoreIntoObjectNoBarrier(Register object, | 1283 void StoreIntoObjectNoBarrier(Register object, |
| 1284 const Address& dest, | 1284 const Address& dest, |
| 1285 const Object& value); | 1285 const Object& value); |
| 1286 void StoreIntoObjectOffsetNoBarrier(Register object, | 1286 void StoreIntoObjectOffsetNoBarrier(Register object, |
| 1287 int32_t offset, | 1287 int32_t offset, |
| 1288 const Object& value); | 1288 const Object& value); |
| 1289 | 1289 |
| 1290 // Object pool, loading from pool, etc. | 1290 // Object pool, loading from pool, etc. |
| 1291 void LoadPoolPointer(); | 1291 void LoadPoolPointer(Register pp = PP); |
| 1292 | 1292 |
| 1293 bool constant_pool_allowed() const { | 1293 bool constant_pool_allowed() const { |
| 1294 return constant_pool_allowed_; | 1294 return constant_pool_allowed_; |
| 1295 } | 1295 } |
| 1296 void set_constant_pool_allowed(bool b) { | 1296 void set_constant_pool_allowed(bool b) { |
| 1297 constant_pool_allowed_ = b; | 1297 constant_pool_allowed_ = b; |
| 1298 } | 1298 } |
| 1299 | 1299 |
| 1300 void LoadWordFromPoolOffset(Register dst, uint32_t offset); | 1300 void LoadWordFromPoolOffset(Register dst, uint32_t offset); |
| 1301 void LoadWordFromPoolOffsetFixed(Register dst, uint32_t offset); | 1301 void LoadWordFromPoolOffsetFixed(Register dst, uint32_t offset); |
| 1302 intptr_t FindImmediate(int64_t imm); | 1302 intptr_t FindImmediate(int64_t imm); |
| 1303 bool CanLoadFromObjectPool(const Object& object) const; | 1303 bool CanLoadFromObjectPool(const Object& object) const; |
| 1304 void LoadExternalLabel(Register dst, const ExternalLabel* label); | 1304 void LoadExternalLabel(Register dst, const ExternalLabel* label); |
| 1305 void LoadExternalLabelFixed(Register dst, | 1305 void LoadExternalLabelFixed(Register dst, |
| 1306 const ExternalLabel* label, | 1306 const ExternalLabel* label, |
| 1307 Patchability patchable); | 1307 Patchability patchable); |
| 1308 void LoadFunctionFromNewPool(Register dst, | |
|
zra
2015/07/31 17:40:24
Maybe CalleePool
regis
2015/07/31 19:43:02
Done.
| |
| 1309 const Function& function, | |
|
zra
2015/07/31 17:40:24
align c in const with R in Register
regis
2015/07/31 19:43:03
Done.
| |
| 1310 Register new_pp); | |
| 1308 void LoadIsolate(Register dst); | 1311 void LoadIsolate(Register dst); |
| 1309 void LoadObject(Register dst, const Object& obj); | 1312 void LoadObject(Register dst, const Object& obj); |
| 1310 void LoadUniqueObject(Register dst, const Object& obj); | 1313 void LoadUniqueObject(Register dst, const Object& obj); |
| 1311 void LoadDecodableImmediate(Register reg, int64_t imm); | 1314 void LoadDecodableImmediate(Register reg, int64_t imm); |
| 1312 void LoadImmediateFixed(Register reg, int64_t imm); | 1315 void LoadImmediateFixed(Register reg, int64_t imm); |
| 1313 void LoadImmediate(Register reg, int64_t imm); | 1316 void LoadImmediate(Register reg, int64_t imm); |
| 1314 void LoadDImmediate(VRegister reg, double immd); | 1317 void LoadDImmediate(VRegister reg, double immd); |
| 1315 | 1318 |
| 1316 void PushObject(const Object& object) { | 1319 void PushObject(const Object& object) { |
| 1317 LoadObject(TMP, object); | 1320 LoadObject(TMP, object); |
| (...skipping 613 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 1931 Register value, | 1934 Register value, |
| 1932 Label* no_update); | 1935 Label* no_update); |
| 1933 | 1936 |
| 1934 DISALLOW_ALLOCATION(); | 1937 DISALLOW_ALLOCATION(); |
| 1935 DISALLOW_COPY_AND_ASSIGN(Assembler); | 1938 DISALLOW_COPY_AND_ASSIGN(Assembler); |
| 1936 }; | 1939 }; |
| 1937 | 1940 |
| 1938 } // namespace dart | 1941 } // namespace dart |
| 1939 | 1942 |
| 1940 #endif // VM_ASSEMBLER_ARM64_H_ | 1943 #endif // VM_ASSEMBLER_ARM64_H_ |
| OLD | NEW |