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

Side by Side Diff: runtime/vm/method_recognizer.h

Issue 2147683002: Inline white-listed intrinsics also in AOT compilation. (Closed) Base URL: git@github.com:dart-lang/sdk.git@master
Patch Set: white-list getter for _GrowableList._capacity Created 4 years, 5 months 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
« no previous file with comments | « runtime/vm/flow_graph_inliner.cc ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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_METHOD_RECOGNIZER_H_ 5 #ifndef VM_METHOD_RECOGNIZER_H_
6 #define VM_METHOD_RECOGNIZER_H_ 6 #define VM_METHOD_RECOGNIZER_H_
7 7
8 #include "vm/allocation.h" 8 #include "vm/allocation.h"
9 9
10 namespace dart { 10 namespace dart {
(...skipping 341 matching lines...) Expand 10 before | Expand all | Expand 10 after
352 ALL_INTRINSICS_LIST(V) \ 352 ALL_INTRINSICS_LIST(V) \
353 GRAPH_INTRINSICS_LIST(V) 353 GRAPH_INTRINSICS_LIST(V)
354 354
355 // A list of core function that should always be inlined. 355 // A list of core function that should always be inlined.
356 #define INLINE_WHITE_LIST(V) \ 356 #define INLINE_WHITE_LIST(V) \
357 V(Object, ==, ObjectEquals, 0x11662ed8) \ 357 V(Object, ==, ObjectEquals, 0x11662ed8) \
358 V(_List, get:length, ObjectArrayLength, 0x25943ad2) \ 358 V(_List, get:length, ObjectArrayLength, 0x25943ad2) \
359 V(_ImmutableList, get:length, ImmutableArrayLength, 0x25943ad2) \ 359 V(_ImmutableList, get:length, ImmutableArrayLength, 0x25943ad2) \
360 V(_TypedList, get:length, TypedDataLength, 0x2090dc1a) \ 360 V(_TypedList, get:length, TypedDataLength, 0x2090dc1a) \
361 V(_GrowableList, get:length, GrowableArrayLength, 0x18dc9df6) \ 361 V(_GrowableList, get:length, GrowableArrayLength, 0x18dc9df6) \
362 V(_GrowableList, get:_capacity, GrowableArrayCapacity, 0x02734d82) \
362 V(_GrowableList, add, GrowableListAdd, 0x0d1358ed) \ 363 V(_GrowableList, add, GrowableListAdd, 0x0d1358ed) \
363 V(_GrowableList, removeLast, GrowableListRemoveLast, 0x135d7384) \ 364 V(_GrowableList, removeLast, GrowableListRemoveLast, 0x135d7384) \
364 V(_StringBase, get:length, StringBaseLength, 0x2a2c1b13) \ 365 V(_StringBase, get:length, StringBaseLength, 0x2a2c1b13) \
365 V(ListIterator, moveNext, ListIteratorMoveNext, 0x3f892e71) \ 366 V(ListIterator, moveNext, ListIteratorMoveNext, 0x3f892e71) \
366 V(_FixedSizeArrayIterator, moveNext, FixedListIteratorMoveNext, 0x5681c902) \ 367 V(_FixedSizeArrayIterator, moveNext, FixedListIteratorMoveNext, 0x5681c902) \
367 V(_GrowableList, get:iterator, GrowableArrayIterator, 0x6db11a73) \ 368 V(_GrowableList, get:iterator, GrowableArrayIterator, 0x6db11a73) \
368 V(_GrowableList, forEach, GrowableArrayForEach, 0x250036fe) \ 369 V(_GrowableList, forEach, GrowableArrayForEach, 0x250036fe) \
369 V(_List, ., ObjectArrayAllocate, 0x63078b15) \ 370 V(_List, ., ObjectArrayAllocate, 0x63078b15) \
370 V(_List, [], ObjectArrayGetIndexed, 0x157b4670) \ 371 V(_List, [], ObjectArrayGetIndexed, 0x157b4670) \
371 V(_List, []=, ObjectArraySetIndexed, 0x34d2c72c) \ 372 V(_List, []=, ObjectArraySetIndexed, 0x34d2c72c) \
(...skipping 195 matching lines...) Expand 10 before | Expand all | Expand 10 after
567 // Class that recognizes factories and returns corresponding result cid. 568 // Class that recognizes factories and returns corresponding result cid.
568 class FactoryRecognizer : public AllStatic { 569 class FactoryRecognizer : public AllStatic {
569 public: 570 public:
570 // Return kDynamicCid if factory is not recognized. 571 // Return kDynamicCid if factory is not recognized.
571 static intptr_t ResultCid(const Function& factory); 572 static intptr_t ResultCid(const Function& factory);
572 }; 573 };
573 574
574 } // namespace dart 575 } // namespace dart
575 576
576 #endif // VM_METHOD_RECOGNIZER_H_ 577 #endif // VM_METHOD_RECOGNIZER_H_
OLDNEW
« no previous file with comments | « runtime/vm/flow_graph_inliner.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698