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

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

Issue 2297033002: VM: Fix polymorphic inlining of recognized methods in the JIT. (Closed)
Patch Set: Created 4 years, 3 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 350 matching lines...) Expand 10 before | Expand all | Expand 10 after
361 V(_GrowableList, get:length, GrowableArrayLength, 0x18dc9df6) \ 361 V(_GrowableList, get:length, GrowableArrayLength, 0x18dc9df6) \
362 V(_GrowableList, get:_capacity, GrowableArrayCapacity, 0x02734d82) \ 362 V(_GrowableList, get:_capacity, GrowableArrayCapacity, 0x02734d82) \
363 V(_GrowableList, add, GrowableListAdd, 0x0d1358ed) \ 363 V(_GrowableList, add, GrowableListAdd, 0x0d1358ed) \
364 V(_GrowableList, removeLast, GrowableListRemoveLast, 0x7add0363) \ 364 V(_GrowableList, removeLast, GrowableListRemoveLast, 0x7add0363) \
365 V(_StringBase, get:length, StringBaseLength, 0x2a2c1b13) \ 365 V(_StringBase, get:length, StringBaseLength, 0x2a2c1b13) \
366 V(ListIterator, moveNext, ListIteratorMoveNext, 0x3f892e71) \ 366 V(ListIterator, moveNext, ListIteratorMoveNext, 0x3f892e71) \
367 V(_FixedSizeArrayIterator, moveNext, FixedListIteratorMoveNext, 0x5681c902) \ 367 V(_FixedSizeArrayIterator, moveNext, FixedListIteratorMoveNext, 0x5681c902) \
368 V(_GrowableList, get:iterator, GrowableArrayIterator, 0x6db11a73) \ 368 V(_GrowableList, get:iterator, GrowableArrayIterator, 0x6db11a73) \
369 V(_GrowableList, forEach, GrowableArrayForEach, 0x250036fe) \ 369 V(_GrowableList, forEach, GrowableArrayForEach, 0x250036fe) \
370 V(_List, ., ObjectArrayAllocate, 0x63078b15) \ 370 V(_List, ., ObjectArrayAllocate, 0x63078b15) \
371 V(_List, [], ObjectArrayGetIndexed, 0x157b4670) \
372 V(_List, []=, ObjectArraySetIndexed, 0x34d2c72c) \
373 V(ListMixin, get:isEmpty, ListMixinIsEmpty, 0x787d9bc6) \ 371 V(ListMixin, get:isEmpty, ListMixinIsEmpty, 0x787d9bc6) \
374 V(_List, get:iterator, ObjectArrayIterator, 0x119cf41a) \ 372 V(_List, get:iterator, ObjectArrayIterator, 0x119cf41a) \
375 V(_List, forEach, ObjectArrayForEach, 0x0abce191) \ 373 V(_List, forEach, ObjectArrayForEach, 0x0abce191) \
376 V(_List, _slice, ObjectArraySlice, 0x3219e715) \ 374 V(_List, _slice, ObjectArraySlice, 0x3219e715) \
377 V(_ImmutableList, get:iterator, ImmutableArrayIterator, 0x119cf41a) \ 375 V(_ImmutableList, get:iterator, ImmutableArrayIterator, 0x119cf41a) \
378 V(_ImmutableList, forEach, ImmutableArrayForEach, 0x0abce191) \ 376 V(_ImmutableList, forEach, ImmutableArrayForEach, 0x0abce191) \
379 V(_ImmutableList, [], ImmutableArrayGetIndexed, 0x157b4670) \
380 V(_GrowableList, [], GrowableArrayGetIndexed, 0x74ad8832) \
381 V(_GrowableList, []=, GrowableArraySetIndexed, 0x0d6cfe96) \
382 V(Float32List, [], Float32ArrayGetIndexed, 0x5686528f) \
383 V(Float32List, []=, Float32ArraySetIndexed, 0x1b0d90df) \
384 V(Float64List, [], Float64ArrayGetIndexed, 0x7a27098d) \
385 V(Float64List, []=, Float64ArraySetIndexed, 0x139b2465) \
386 V(Int8List, [], Int8ArrayGetIndexed, 0x069af8b3) \
387 V(Int8List, []=, Int8ArraySetIndexed, 0x33994cd7) \
388 V(Uint8List, [], Uint8ArrayGetIndexed, 0x027603ed) \
389 V(Uint8List, []=, Uint8ArraySetIndexed, 0x060d5256) \
390 V(Uint8ClampedList, [], Uint8ClampedArrayGetIndexed, 0x027603ed) \
391 V(Uint8ClampedList, []=, Uint8ClampedArraySetIndexed, 0x28f5f058) \
392 V(Uint16List, [], Uint16ArrayGetIndexed, 0x3ececa2f) \
393 V(Uint16List, []=, Uint16ArraySetIndexed, 0x5c3a0bb9) \
394 V(Int16List, [], Int16ArrayGetIndexed, 0x173cd6a1) \
395 V(Int16List, []=, Int16ArraySetIndexed, 0x32f84e3c) \
396 V(Int32List, [], Int32ArrayGetIndexed, 0x262eef09) \
397 V(Int32List, []=, Int32ArraySetIndexed, 0x1b05b471) \
398 V(Int64List, [], Int64ArrayGetIndexed, 0x0c0c939a) \
399 V(Int64List, []=, Int64ArraySetIndexed, 0x3714d004) \
400 V(_Uint8ArrayView, [], Uint8ArrayViewGetIndexed, 0x4fc6b3d3) \ 377 V(_Uint8ArrayView, [], Uint8ArrayViewGetIndexed, 0x4fc6b3d3) \
401 V(_Uint8ArrayView, []=, Uint8ArrayViewSetIndexed, 0x2032fdf0) \ 378 V(_Uint8ArrayView, []=, Uint8ArrayViewSetIndexed, 0x2032fdf0) \
402 V(_Int8ArrayView, [], Int8ArrayViewGetIndexed, 0x12036952) \ 379 V(_Int8ArrayView, [], Int8ArrayViewGetIndexed, 0x12036952) \
403 V(_Int8ArrayView, []=, Int8ArrayViewSetIndexed, 0x6d881658) \ 380 V(_Int8ArrayView, []=, Int8ArrayViewSetIndexed, 0x6d881658) \
404 V(_ByteDataView, setInt8, ByteDataViewSetInt8, 0x275cbdca) \ 381 V(_ByteDataView, setInt8, ByteDataViewSetInt8, 0x275cbdca) \
405 V(_ByteDataView, setUint8, ByteDataViewSetUint8, 0x62774e77) \ 382 V(_ByteDataView, setUint8, ByteDataViewSetUint8, 0x62774e77) \
406 V(_ByteDataView, setInt16, ByteDataViewSetInt16, 0x7a43c6c2) \ 383 V(_ByteDataView, setInt16, ByteDataViewSetInt16, 0x7a43c6c2) \
407 V(_ByteDataView, setUint16, ByteDataViewSetUint16, 0x64dd988f) \ 384 V(_ByteDataView, setUint16, ByteDataViewSetUint16, 0x64dd988f) \
408 V(_ByteDataView, setInt32, ByteDataViewSetInt32, 0x3363264a) \ 385 V(_ByteDataView, setInt32, ByteDataViewSetInt32, 0x3363264a) \
409 V(_ByteDataView, setUint32, ByteDataViewSetUint32, 0x158f9899) \ 386 V(_ByteDataView, setUint32, ByteDataViewSetUint32, 0x158f9899) \
(...skipping 159 matching lines...) Expand 10 before | Expand all | Expand 10 after
569 // Class that recognizes factories and returns corresponding result cid. 546 // Class that recognizes factories and returns corresponding result cid.
570 class FactoryRecognizer : public AllStatic { 547 class FactoryRecognizer : public AllStatic {
571 public: 548 public:
572 // Return kDynamicCid if factory is not recognized. 549 // Return kDynamicCid if factory is not recognized.
573 static intptr_t ResultCid(const Function& factory); 550 static intptr_t ResultCid(const Function& factory);
574 }; 551 };
575 552
576 } // namespace dart 553 } // namespace dart
577 554
578 #endif // VM_METHOD_RECOGNIZER_H_ 555 #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