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

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

Issue 2314133003: AOT: Use a cid range check when possible to implement type tests. (Closed)
Patch Set: symbols 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/intermediate_language.cc ('k') | runtime/vm/object.cc » ('j') | 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 110 matching lines...) Expand 10 before | Expand all | Expand 10 after
121 V(_HashVMBase, get:_data, LinkedHashMap_getData, Array, 0x4bf5ccb3) \ 121 V(_HashVMBase, get:_data, LinkedHashMap_getData, Array, 0x4bf5ccb3) \
122 V(_HashVMBase, set:_data, LinkedHashMap_setData, Dynamic, 0x6007556d) \ 122 V(_HashVMBase, set:_data, LinkedHashMap_setData, Dynamic, 0x6007556d) \
123 V(_HashVMBase, get:_usedData, LinkedHashMap_getUsedData, Smi, 0x15e70845) \ 123 V(_HashVMBase, get:_usedData, LinkedHashMap_getUsedData, Smi, 0x15e70845) \
124 V(_HashVMBase, set:_usedData, LinkedHashMap_setUsedData, Dynamic, 0x3e8c6edc)\ 124 V(_HashVMBase, set:_usedData, LinkedHashMap_setUsedData, Dynamic, 0x3e8c6edc)\
125 V(_HashVMBase, get:_hashMask, LinkedHashMap_getHashMask, Smi, 0x35c5ac00) \ 125 V(_HashVMBase, get:_hashMask, LinkedHashMap_getHashMask, Smi, 0x35c5ac00) \
126 V(_HashVMBase, set:_hashMask, LinkedHashMap_setHashMask, Dynamic, 0x49adf69e)\ 126 V(_HashVMBase, set:_hashMask, LinkedHashMap_setHashMask, Dynamic, 0x49adf69e)\
127 V(_HashVMBase, get:_deletedKeys, LinkedHashMap_getDeletedKeys, Smi, \ 127 V(_HashVMBase, get:_deletedKeys, LinkedHashMap_getDeletedKeys, Smi, \
128 0x306e6a79) \ 128 0x306e6a79) \
129 V(_HashVMBase, set:_deletedKeys, LinkedHashMap_setDeletedKeys, Dynamic, \ 129 V(_HashVMBase, set:_deletedKeys, LinkedHashMap_setDeletedKeys, Dynamic, \
130 0x3fe95fc2) \ 130 0x3fe95fc2) \
131 V(::, _classRangeCheck, ClassRangeCheck, Bool, 0x6279a7b3) \
132 V(::, _classRangeCheckNegative, ClassRangeCheckNegated, Bool, 0x4799dac1) \
131 133
132 134
133 // List of intrinsics: 135 // List of intrinsics:
134 // (class-name, function-name, intrinsification method, fingerprint). 136 // (class-name, function-name, intrinsification method, fingerprint).
135 #define CORE_LIB_INTRINSIC_LIST(V) \ 137 #define CORE_LIB_INTRINSIC_LIST(V) \
136 V(_Smi, ~, Smi_bitNegate, Smi, 0x63bfee11) \ 138 V(_Smi, ~, Smi_bitNegate, Smi, 0x63bfee11) \
137 V(_Smi, get:bitLength, Smi_bitLength, Smi, 0x25b2e24c) \ 139 V(_Smi, get:bitLength, Smi_bitLength, Smi, 0x25b2e24c) \
138 V(_Smi, _bitAndFromSmi, Smi_bitAndFromSmi, Smi, 0x0df806ed) \ 140 V(_Smi, _bitAndFromSmi, Smi_bitAndFromSmi, Smi, 0x0df806ed) \
139 V(_Bigint, _lsh, Bigint_lsh, Dynamic, 0x5cd95513) \ 141 V(_Bigint, _lsh, Bigint_lsh, Dynamic, 0x5cd95513) \
140 V(_Bigint, _rsh, Bigint_rsh, Dynamic, 0x2d68d0e1) \ 142 V(_Bigint, _rsh, Bigint_rsh, Dynamic, 0x2d68d0e1) \
(...skipping 255 matching lines...) Expand 10 before | Expand all | Expand 10 after
396 V(_ByteDataView, getUint32, ByteDataViewGetUint32, 0x220d3da8) \ 398 V(_ByteDataView, getUint32, ByteDataViewGetUint32, 0x220d3da8) \
397 V(_ByteDataView, getInt64, ByteDataViewGetInt64, 0x757dd5c8) \ 399 V(_ByteDataView, getInt64, ByteDataViewGetInt64, 0x757dd5c8) \
398 V(_ByteDataView, getUint64, ByteDataViewGetUint64, 0x2fab992e) \ 400 V(_ByteDataView, getUint64, ByteDataViewGetUint64, 0x2fab992e) \
399 V(_ByteDataView, getFloat32, ByteDataViewGetFloat32, 0x387e9fc6) \ 401 V(_ByteDataView, getFloat32, ByteDataViewGetFloat32, 0x387e9fc6) \
400 V(_ByteDataView, getFloat64, ByteDataViewGetFloat64, 0x5396432d) \ 402 V(_ByteDataView, getFloat64, ByteDataViewGetFloat64, 0x5396432d) \
401 V(::, exp, MathExp, 0x5b894d7b) \ 403 V(::, exp, MathExp, 0x5b894d7b) \
402 V(::, log, MathLog, 0x2e25132c) \ 404 V(::, log, MathLog, 0x2e25132c) \
403 V(::, max, MathMax, 0x54121d6a) \ 405 V(::, max, MathMax, 0x54121d6a) \
404 V(::, min, MathMin, 0x4276561c) \ 406 V(::, min, MathMin, 0x4276561c) \
405 V(::, pow, MathPow, 0x438e3089) \ 407 V(::, pow, MathPow, 0x438e3089) \
408 V(::, _classRangeCheck, ClassRangeCheck, 0x6279a7b3) \
409 V(::, _classRangeCheckNegative, ClassRangeCheckNegated, 0x4799dac1) \
406 V(Lists, copy, ListsCopy, 0x21a194fa) \ 410 V(Lists, copy, ListsCopy, 0x21a194fa) \
407 V(_Bigint, get:_neg, Bigint_getNeg, 0x7bf17a57) \ 411 V(_Bigint, get:_neg, Bigint_getNeg, 0x7bf17a57) \
408 V(_Bigint, get:_used, Bigint_getUsed, 0x55041013) \ 412 V(_Bigint, get:_used, Bigint_getUsed, 0x55041013) \
409 V(_Bigint, get:_digits, Bigint_getDigits, 0x46a6c1b3) \ 413 V(_Bigint, get:_digits, Bigint_getDigits, 0x46a6c1b3) \
410 V(_HashVMBase, get:_index, LinkedHashMap_getIndex, 0x7d6bb76b) \ 414 V(_HashVMBase, get:_index, LinkedHashMap_getIndex, 0x7d6bb76b) \
411 V(_HashVMBase, set:_index, LinkedHashMap_setIndex, 0x4beb13f2) \ 415 V(_HashVMBase, set:_index, LinkedHashMap_setIndex, 0x4beb13f2) \
412 V(_HashVMBase, get:_data, LinkedHashMap_getData, 0x4bf5ccb3) \ 416 V(_HashVMBase, get:_data, LinkedHashMap_getData, 0x4bf5ccb3) \
413 V(_HashVMBase, set:_data, LinkedHashMap_setData, 0x6007556d) \ 417 V(_HashVMBase, set:_data, LinkedHashMap_setData, 0x6007556d) \
414 V(_HashVMBase, get:_usedData, LinkedHashMap_getUsedData, 0x15e70845) \ 418 V(_HashVMBase, get:_usedData, LinkedHashMap_getUsedData, 0x15e70845) \
415 V(_HashVMBase, set:_usedData, LinkedHashMap_setUsedData, 0x3e8c6edc) \ 419 V(_HashVMBase, set:_usedData, LinkedHashMap_setUsedData, 0x3e8c6edc) \
(...skipping 130 matching lines...) Expand 10 before | Expand all | Expand 10 after
546 // Class that recognizes factories and returns corresponding result cid. 550 // Class that recognizes factories and returns corresponding result cid.
547 class FactoryRecognizer : public AllStatic { 551 class FactoryRecognizer : public AllStatic {
548 public: 552 public:
549 // Return kDynamicCid if factory is not recognized. 553 // Return kDynamicCid if factory is not recognized.
550 static intptr_t ResultCid(const Function& factory); 554 static intptr_t ResultCid(const Function& factory);
551 }; 555 };
552 556
553 } // namespace dart 557 } // namespace dart
554 558
555 #endif // VM_METHOD_RECOGNIZER_H_ 559 #endif // VM_METHOD_RECOGNIZER_H_
OLDNEW
« no previous file with comments | « runtime/vm/intermediate_language.cc ('k') | runtime/vm/object.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698