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

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

Issue 2379733002: Recognize and optimize a.runtimeType == b.runtimeType pattern. (Closed)
Patch Set: Done Created 4 years, 2 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
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 148 matching lines...) Expand 10 before | Expand all | Expand 10 after
159 V(_Double, get:isNegative, Double_getIsNegative, Bool, 0x3a58ff36) \ 159 V(_Double, get:isNegative, Double_getIsNegative, Bool, 0x3a58ff36) \
160 V(_Double, _mulFromInteger, Double_mulFromInteger, Double, 0x330e9a36) \ 160 V(_Double, _mulFromInteger, Double_mulFromInteger, Double, 0x330e9a36) \
161 V(_Double, .fromInteger, DoubleFromInteger, Double, 0x7ef45843) \ 161 V(_Double, .fromInteger, DoubleFromInteger, Double, 0x7ef45843) \
162 V(_List, []=, ObjectArraySetIndexed, Dynamic, 0x34d2c72c) \ 162 V(_List, []=, ObjectArraySetIndexed, Dynamic, 0x34d2c72c) \
163 V(_GrowableList, .withData, GrowableArray_Allocate, GrowableObjectArray, \ 163 V(_GrowableList, .withData, GrowableArray_Allocate, GrowableObjectArray, \
164 0x25a786de) \ 164 0x25a786de) \
165 V(_GrowableList, add, GrowableArray_add, Dynamic, 0x0d1358ed) \ 165 V(_GrowableList, add, GrowableArray_add, Dynamic, 0x0d1358ed) \
166 V(_RegExp, _ExecuteMatch, RegExp_ExecuteMatch, Dynamic, 0x6036d7fa) \ 166 V(_RegExp, _ExecuteMatch, RegExp_ExecuteMatch, Dynamic, 0x6036d7fa) \
167 V(Object, ==, ObjectEquals, Bool, 0x11662ed8) \ 167 V(Object, ==, ObjectEquals, Bool, 0x11662ed8) \
168 V(Object, get:runtimeType, ObjectRuntimeType, Type, 0x00e7c26b) \ 168 V(Object, get:runtimeType, ObjectRuntimeType, Type, 0x00e7c26b) \
169 V(Object, _haveSameRuntimeType, ObjectHaveSameRuntimeType, Bool, 0x72aad7e2) \
169 V(_StringBase, get:hashCode, String_getHashCode, Smi, 0x78c2eb88) \ 170 V(_StringBase, get:hashCode, String_getHashCode, Smi, 0x78c2eb88) \
170 V(_StringBase, get:isEmpty, StringBaseIsEmpty, Bool, 0x74c21fca) \ 171 V(_StringBase, get:isEmpty, StringBaseIsEmpty, Bool, 0x74c21fca) \
171 V(_StringBase, _substringMatches, StringBaseSubstringMatches, Bool, \ 172 V(_StringBase, _substringMatches, StringBaseSubstringMatches, Bool, \
172 0x2f851deb) \ 173 0x2f851deb) \
173 V(_StringBase, [], StringBaseCharAt, Dynamic, 0x2cf92c45) \ 174 V(_StringBase, [], StringBaseCharAt, Dynamic, 0x2cf92c45) \
174 V(_OneByteString, get:hashCode, OneByteString_getHashCode, Smi, 0x78c2eb88) \ 175 V(_OneByteString, get:hashCode, OneByteString_getHashCode, Smi, 0x78c2eb88) \
175 V(_OneByteString, _substringUncheckedNative, \ 176 V(_OneByteString, _substringUncheckedNative, \
176 OneByteString_substringUnchecked, OneByteString, 0x638c3722) \ 177 OneByteString_substringUnchecked, OneByteString, 0x638c3722) \
177 V(_OneByteString, _setAt, OneByteStringSetAt, Dynamic, 0x452533ef) \ 178 V(_OneByteString, _setAt, OneByteStringSetAt, Dynamic, 0x452533ef) \
178 V(_OneByteString, _allocate, OneByteString_allocate, OneByteString, \ 179 V(_OneByteString, _allocate, OneByteString_allocate, OneByteString, \
(...skipping 371 matching lines...) Expand 10 before | Expand all | Expand 10 after
550 // Class that recognizes factories and returns corresponding result cid. 551 // Class that recognizes factories and returns corresponding result cid.
551 class FactoryRecognizer : public AllStatic { 552 class FactoryRecognizer : public AllStatic {
552 public: 553 public:
553 // Return kDynamicCid if factory is not recognized. 554 // Return kDynamicCid if factory is not recognized.
554 static intptr_t ResultCid(const Function& factory); 555 static intptr_t ResultCid(const Function& factory);
555 }; 556 };
556 557
557 } // namespace dart 558 } // namespace dart
558 559
559 #endif // VM_METHOD_RECOGNIZER_H_ 560 #endif // VM_METHOD_RECOGNIZER_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698