OLD | NEW |
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 RUNTIME_VM_METHOD_RECOGNIZER_H_ | 5 #ifndef RUNTIME_VM_METHOD_RECOGNIZER_H_ |
6 #define RUNTIME_VM_METHOD_RECOGNIZER_H_ | 6 #define RUNTIME_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 116 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
127 V(_HashVMBase, set:_usedData, LinkedHashMap_setUsedData, Dynamic, 0x631d2ea6)\ | 127 V(_HashVMBase, set:_usedData, LinkedHashMap_setUsedData, Dynamic, 0x631d2ea6)\ |
128 V(_HashVMBase, get:_hashMask, LinkedHashMap_getHashMask, Smi, 0x32f33cdc) \ | 128 V(_HashVMBase, get:_hashMask, LinkedHashMap_getHashMask, Smi, 0x32f33cdc) \ |
129 V(_HashVMBase, set:_hashMask, LinkedHashMap_setHashMask, Dynamic, 0x75f4287b)\ | 129 V(_HashVMBase, set:_hashMask, LinkedHashMap_setHashMask, Dynamic, 0x75f4287b)\ |
130 V(_HashVMBase, get:_deletedKeys, LinkedHashMap_getDeletedKeys, Smi, \ | 130 V(_HashVMBase, get:_deletedKeys, LinkedHashMap_getDeletedKeys, Smi, \ |
131 0x55840d63) \ | 131 0x55840d63) \ |
132 V(_HashVMBase, set:_deletedKeys, LinkedHashMap_setDeletedKeys, Dynamic, \ | 132 V(_HashVMBase, set:_deletedKeys, LinkedHashMap_setDeletedKeys, Dynamic, \ |
133 0x5e83ecad) \ | 133 0x5e83ecad) \ |
134 V(::, _classRangeCheck, ClassRangeCheck, Bool, 0x16a2fc83) \ | 134 V(::, _classRangeCheck, ClassRangeCheck, Bool, 0x16a2fc83) \ |
135 V(::, _classRangeCheckNegative, ClassRangeCheckNegated, Bool, 0x46898c74) \ | 135 V(::, _classRangeCheckNegative, ClassRangeCheckNegated, Bool, 0x46898c74) \ |
136 | 136 |
137 | |
138 // List of intrinsics: | 137 // List of intrinsics: |
139 // (class-name, function-name, intrinsification method, fingerprint). | 138 // (class-name, function-name, intrinsification method, fingerprint). |
140 #define CORE_LIB_INTRINSIC_LIST(V) \ | 139 #define CORE_LIB_INTRINSIC_LIST(V) \ |
141 V(_Smi, ~, Smi_bitNegate, Smi, 0x6574c6b0) \ | 140 V(_Smi, ~, Smi_bitNegate, Smi, 0x6574c6b0) \ |
142 V(_Smi, get:bitLength, Smi_bitLength, Smi, 0x25b356ab) \ | 141 V(_Smi, get:bitLength, Smi_bitLength, Smi, 0x25b356ab) \ |
143 V(_Smi, _bitAndFromSmi, Smi_bitAndFromSmi, Smi, 0x490a4da1) \ | 142 V(_Smi, _bitAndFromSmi, Smi_bitAndFromSmi, Smi, 0x490a4da1) \ |
144 V(_Bigint, _lsh, Bigint_lsh, Dynamic, 0x40d9f1cc) \ | 143 V(_Bigint, _lsh, Bigint_lsh, Dynamic, 0x40d9f1cc) \ |
145 V(_Bigint, _rsh, Bigint_rsh, Dynamic, 0x703f1a40) \ | 144 V(_Bigint, _rsh, Bigint_rsh, Dynamic, 0x703f1a40) \ |
146 V(_Bigint, _absAdd, Bigint_absAdd, Dynamic, 0x50fb1e47) \ | 145 V(_Bigint, _absAdd, Bigint_absAdd, Dynamic, 0x50fb1e47) \ |
147 V(_Bigint, _absSub, Bigint_absSub, Dynamic, 0x2beeb34d) \ | 146 V(_Bigint, _absSub, Bigint_absSub, Dynamic, 0x2beeb34d) \ |
(...skipping 191 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
339 GRAPH_TYPED_DATA_INTRINSICS_LIST(V) \ | 338 GRAPH_TYPED_DATA_INTRINSICS_LIST(V) \ |
340 GRAPH_MATH_LIB_INTRINSIC_LIST(V) \ | 339 GRAPH_MATH_LIB_INTRINSIC_LIST(V) \ |
341 | 340 |
342 #define DEVELOPER_LIB_INTRINSIC_LIST(V) \ | 341 #define DEVELOPER_LIB_INTRINSIC_LIST(V) \ |
343 V(_UserTag, makeCurrent, UserTag_makeCurrent, Dynamic, 0x0b3066fd) \ | 342 V(_UserTag, makeCurrent, UserTag_makeCurrent, Dynamic, 0x0b3066fd) \ |
344 V(::, _getDefaultTag, UserTag_defaultTag, Dynamic, 0x69f3f1ad) \ | 343 V(::, _getDefaultTag, UserTag_defaultTag, Dynamic, 0x69f3f1ad) \ |
345 V(::, _getCurrentTag, Profiler_getCurrentTag, Dynamic, 0x05fa99d2) \ | 344 V(::, _getCurrentTag, Profiler_getCurrentTag, Dynamic, 0x05fa99d2) \ |
346 V(::, _isDartStreamEnabled, Timeline_isDartStreamEnabled, Dynamic, \ | 345 V(::, _isDartStreamEnabled, Timeline_isDartStreamEnabled, Dynamic, \ |
347 0x72f13f7a) \ | 346 0x72f13f7a) \ |
348 | 347 |
| 348 #define ASYNC_LIB_INTRINSIC_LIST(V) \ |
| 349 V(::, _clearAsyncThreadStackTrace, ClearAsyncThreadStackTrace, \ |
| 350 Dynamic, 0x2b7399e7) \ |
| 351 V(::, _setAsyncThreadStackTrace, SetAsyncThreadStackTrace, \ |
| 352 Dynamic, 0x3531cfe9) \ |
| 353 |
349 #define ALL_INTRINSICS_NO_INTEGER_LIB_LIST(V) \ | 354 #define ALL_INTRINSICS_NO_INTEGER_LIB_LIST(V) \ |
| 355 ASYNC_LIB_INTRINSIC_LIST(V) \ |
350 CORE_LIB_INTRINSIC_LIST(V) \ | 356 CORE_LIB_INTRINSIC_LIST(V) \ |
351 DEVELOPER_LIB_INTRINSIC_LIST(V) \ | 357 DEVELOPER_LIB_INTRINSIC_LIST(V) \ |
352 MATH_LIB_INTRINSIC_LIST(V) \ | 358 MATH_LIB_INTRINSIC_LIST(V) \ |
353 TYPED_DATA_LIB_INTRINSIC_LIST(V) \ | 359 TYPED_DATA_LIB_INTRINSIC_LIST(V) \ |
354 | 360 |
355 #define ALL_INTRINSICS_LIST(V) \ | 361 #define ALL_INTRINSICS_LIST(V) \ |
356 ALL_INTRINSICS_NO_INTEGER_LIB_LIST(V) \ | 362 ALL_INTRINSICS_NO_INTEGER_LIB_LIST(V) \ |
357 CORE_INTEGER_LIB_INTRINSIC_LIST(V) | 363 CORE_INTEGER_LIB_INTRINSIC_LIST(V) |
358 | 364 |
359 #define RECOGNIZED_LIST(V) \ | 365 #define RECOGNIZED_LIST(V) \ |
(...skipping 210 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
570 // Class that recognizes factories and returns corresponding result cid. | 576 // Class that recognizes factories and returns corresponding result cid. |
571 class FactoryRecognizer : public AllStatic { | 577 class FactoryRecognizer : public AllStatic { |
572 public: | 578 public: |
573 // Return kDynamicCid if factory is not recognized. | 579 // Return kDynamicCid if factory is not recognized. |
574 static intptr_t ResultCid(const Function& factory); | 580 static intptr_t ResultCid(const Function& factory); |
575 }; | 581 }; |
576 | 582 |
577 } // namespace dart | 583 } // namespace dart |
578 | 584 |
579 #endif // RUNTIME_VM_METHOD_RECOGNIZER_H_ | 585 #endif // RUNTIME_VM_METHOD_RECOGNIZER_H_ |
OLD | NEW |