Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(87)

Side by Side Diff: src/arm64/macro-assembler-arm64.h

Issue 764003003: Reland parts of 'Use weak cells in map checks in polymorphic ICs' (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Created 6 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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 1469 matching lines...) Expand 10 before | Expand all | Expand 10 after
1480 1480
1481 // Check if the map of an object is equal to a specified map and branch to a 1481 // Check if the map of an object is equal to a specified map and branch to a
1482 // specified target if equal. Skip the smi check if not required (object is 1482 // specified target if equal. Skip the smi check if not required (object is
1483 // known to be a heap object) 1483 // known to be a heap object)
1484 void DispatchMap(Register obj, 1484 void DispatchMap(Register obj,
1485 Register scratch, 1485 Register scratch,
1486 Handle<Map> map, 1486 Handle<Map> map,
1487 Handle<Code> success, 1487 Handle<Code> success,
1488 SmiCheckType smi_check_type); 1488 SmiCheckType smi_check_type);
1489 1489
1490 // Compare the given value and the value of weak cell.
1491 void CmpWeakValue(Register value, Handle<WeakCell> cell, Register scratch);
1492
1493 // Load the value of the weak cell in the value register. Branch to the given
1494 // miss label if the weak cell was cleared.
1495 void LoadWeakValue(Register value, Handle<WeakCell> cell, Label* miss);
1496
1490 // Test the bitfield of the heap object map with mask and set the condition 1497 // Test the bitfield of the heap object map with mask and set the condition
1491 // flags. The object register is preserved. 1498 // flags. The object register is preserved.
1492 void TestMapBitfield(Register object, uint64_t mask); 1499 void TestMapBitfield(Register object, uint64_t mask);
1493 1500
1494 // Load the elements kind field from a map, and return it in the result 1501 // Load the elements kind field from a map, and return it in the result
1495 // register. 1502 // register.
1496 void LoadElementsKindFromMap(Register result, Register map); 1503 void LoadElementsKindFromMap(Register result, Register map);
1497 1504
1498 // Compare the object in a register to a value from the root list. 1505 // Compare the object in a register to a value from the root list.
1499 void CompareRoot(const Register& obj, Heap::RootListIndex index); 1506 void CompareRoot(const Register& obj, Heap::RootListIndex index);
(...skipping 830 matching lines...) Expand 10 before | Expand all | Expand 10 after
2330 #error "Unsupported option" 2337 #error "Unsupported option"
2331 #define CODE_COVERAGE_STRINGIFY(x) #x 2338 #define CODE_COVERAGE_STRINGIFY(x) #x
2332 #define CODE_COVERAGE_TOSTRING(x) CODE_COVERAGE_STRINGIFY(x) 2339 #define CODE_COVERAGE_TOSTRING(x) CODE_COVERAGE_STRINGIFY(x)
2333 #define __FILE_LINE__ __FILE__ ":" CODE_COVERAGE_TOSTRING(__LINE__) 2340 #define __FILE_LINE__ __FILE__ ":" CODE_COVERAGE_TOSTRING(__LINE__)
2334 #define ACCESS_MASM(masm) masm->stop(__FILE_LINE__); masm-> 2341 #define ACCESS_MASM(masm) masm->stop(__FILE_LINE__); masm->
2335 #else 2342 #else
2336 #define ACCESS_MASM(masm) masm-> 2343 #define ACCESS_MASM(masm) masm->
2337 #endif 2344 #endif
2338 2345
2339 #endif // V8_ARM64_MACRO_ASSEMBLER_ARM64_H_ 2346 #endif // V8_ARM64_MACRO_ASSEMBLER_ARM64_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698