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 #include "vm/globals.h" | 5 #include "vm/globals.h" |
6 #if defined(TARGET_ARCH_ARM64) | 6 #if defined(TARGET_ARCH_ARM64) |
7 | 7 |
8 #include "vm/assembler.h" | 8 #include "vm/assembler.h" |
9 #include "vm/code_generator.h" | 9 #include "vm/code_generator.h" |
10 #include "vm/compiler.h" | 10 #include "vm/compiler.h" |
(...skipping 1570 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1581 } | 1581 } |
1582 | 1582 |
1583 | 1583 |
1584 void StubCode::GenerateSmiEqualInlineCacheStub(Assembler* assembler) { | 1584 void StubCode::GenerateSmiEqualInlineCacheStub(Assembler* assembler) { |
1585 GenerateUsageCounterIncrement(assembler, R6); | 1585 GenerateUsageCounterIncrement(assembler, R6); |
1586 GenerateNArgsCheckInlineCacheStub(assembler, 2, | 1586 GenerateNArgsCheckInlineCacheStub(assembler, 2, |
1587 kInlineCacheMissHandlerTwoArgsRuntimeEntry, Token::kEQ); | 1587 kInlineCacheMissHandlerTwoArgsRuntimeEntry, Token::kEQ); |
1588 } | 1588 } |
1589 | 1589 |
1590 | 1590 |
1591 void StubCode::GenerateUnaryRangeCollectingInlineCacheStub( | |
1592 Assembler* assembler) { | |
1593 GenerateUsageCounterIncrement(assembler, R6); | |
1594 GenerateNArgsCheckInlineCacheStub(assembler, 1, | |
1595 kInlineCacheMissHandlerOneArgRuntimeEntry, | |
1596 Token::kILLEGAL); | |
1597 } | |
1598 | |
1599 | |
1600 void StubCode::GenerateBinaryRangeCollectingInlineCacheStub( | |
1601 Assembler* assembler) { | |
1602 GenerateUsageCounterIncrement(assembler, R6); | |
1603 GenerateNArgsCheckInlineCacheStub(assembler, 2, | |
1604 kInlineCacheMissHandlerTwoArgsRuntimeEntry, | |
1605 Token::kILLEGAL); | |
1606 } | |
1607 | |
1608 | |
1609 void StubCode::GenerateOneArgOptimizedCheckInlineCacheStub( | 1591 void StubCode::GenerateOneArgOptimizedCheckInlineCacheStub( |
1610 Assembler* assembler) { | 1592 Assembler* assembler) { |
1611 GenerateOptimizedUsageCounterIncrement(assembler); | 1593 GenerateOptimizedUsageCounterIncrement(assembler); |
1612 GenerateNArgsCheckInlineCacheStub(assembler, 1, | 1594 GenerateNArgsCheckInlineCacheStub(assembler, 1, |
1613 kInlineCacheMissHandlerOneArgRuntimeEntry, Token::kILLEGAL, | 1595 kInlineCacheMissHandlerOneArgRuntimeEntry, Token::kILLEGAL, |
1614 true /* optimized */); | 1596 true /* optimized */); |
1615 } | 1597 } |
1616 | 1598 |
1617 | 1599 |
1618 void StubCode::GenerateTwoArgsOptimizedCheckInlineCacheStub( | 1600 void StubCode::GenerateTwoArgsOptimizedCheckInlineCacheStub( |
(...skipping 578 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2197 } | 2179 } |
2198 | 2180 |
2199 | 2181 |
2200 void StubCode::GenerateFrameAwaitingMaterializationStub(Assembler* assembler) { | 2182 void StubCode::GenerateFrameAwaitingMaterializationStub(Assembler* assembler) { |
2201 __ brk(0); | 2183 __ brk(0); |
2202 } | 2184 } |
2203 | 2185 |
2204 } // namespace dart | 2186 } // namespace dart |
2205 | 2187 |
2206 #endif // defined TARGET_ARCH_ARM64 | 2188 #endif // defined TARGET_ARCH_ARM64 |
OLD | NEW |