OLD | NEW |
1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2013, 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_ARM) | 6 #if defined(TARGET_ARCH_ARM) |
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/cpu.h" | 10 #include "vm/cpu.h" |
(...skipping 1515 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1526 } | 1526 } |
1527 | 1527 |
1528 | 1528 |
1529 void StubCode::GenerateSmiEqualInlineCacheStub(Assembler* assembler) { | 1529 void StubCode::GenerateSmiEqualInlineCacheStub(Assembler* assembler) { |
1530 GenerateUsageCounterIncrement(assembler, R8); | 1530 GenerateUsageCounterIncrement(assembler, R8); |
1531 GenerateNArgsCheckInlineCacheStub(assembler, 2, | 1531 GenerateNArgsCheckInlineCacheStub(assembler, 2, |
1532 kInlineCacheMissHandlerTwoArgsRuntimeEntry, Token::kEQ); | 1532 kInlineCacheMissHandlerTwoArgsRuntimeEntry, Token::kEQ); |
1533 } | 1533 } |
1534 | 1534 |
1535 | 1535 |
1536 void StubCode::GenerateUnaryRangeCollectingInlineCacheStub( | |
1537 Assembler* assembler) { | |
1538 GenerateUsageCounterIncrement(assembler, R8); | |
1539 GenerateNArgsCheckInlineCacheStub(assembler, 1, | |
1540 kInlineCacheMissHandlerOneArgRuntimeEntry, | |
1541 Token::kILLEGAL); | |
1542 } | |
1543 | |
1544 | |
1545 void StubCode::GenerateBinaryRangeCollectingInlineCacheStub( | |
1546 Assembler* assembler) { | |
1547 GenerateUsageCounterIncrement(assembler, R8); | |
1548 GenerateNArgsCheckInlineCacheStub(assembler, 2, | |
1549 kInlineCacheMissHandlerTwoArgsRuntimeEntry, | |
1550 Token::kILLEGAL); | |
1551 } | |
1552 | |
1553 | |
1554 void StubCode::GenerateOneArgOptimizedCheckInlineCacheStub( | 1536 void StubCode::GenerateOneArgOptimizedCheckInlineCacheStub( |
1555 Assembler* assembler) { | 1537 Assembler* assembler) { |
1556 GenerateOptimizedUsageCounterIncrement(assembler); | 1538 GenerateOptimizedUsageCounterIncrement(assembler); |
1557 GenerateNArgsCheckInlineCacheStub(assembler, 1, | 1539 GenerateNArgsCheckInlineCacheStub(assembler, 1, |
1558 kInlineCacheMissHandlerOneArgRuntimeEntry, Token::kILLEGAL, | 1540 kInlineCacheMissHandlerOneArgRuntimeEntry, Token::kILLEGAL, |
1559 true /* optimized */); | 1541 true /* optimized */); |
1560 } | 1542 } |
1561 | 1543 |
1562 | 1544 |
1563 void StubCode::GenerateTwoArgsOptimizedCheckInlineCacheStub( | 1545 void StubCode::GenerateTwoArgsOptimizedCheckInlineCacheStub( |
(...skipping 573 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2137 } | 2119 } |
2138 | 2120 |
2139 | 2121 |
2140 void StubCode::GenerateFrameAwaitingMaterializationStub(Assembler* assembler) { | 2122 void StubCode::GenerateFrameAwaitingMaterializationStub(Assembler* assembler) { |
2141 __ bkpt(0); | 2123 __ bkpt(0); |
2142 } | 2124 } |
2143 | 2125 |
2144 } // namespace dart | 2126 } // namespace dart |
2145 | 2127 |
2146 #endif // defined TARGET_ARCH_ARM | 2128 #endif // defined TARGET_ARCH_ARM |
OLD | NEW |