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 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 256 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
267 V(_Int32Array, ., TypedData_Int32Array_factory, 836050202) \ | 267 V(_Int32Array, ., TypedData_Int32Array_factory, 836050202) \ |
268 V(_Uint32Array, ., TypedData_Uint32Array_factory, 102123815) \ | 268 V(_Uint32Array, ., TypedData_Uint32Array_factory, 102123815) \ |
269 V(_Int64Array, ., TypedData_Int64Array_factory, 1820730838) \ | 269 V(_Int64Array, ., TypedData_Int64Array_factory, 1820730838) \ |
270 V(_Uint64Array, ., TypedData_Uint64Array_factory, 1668399825) \ | 270 V(_Uint64Array, ., TypedData_Uint64Array_factory, 1668399825) \ |
271 V(_Float32Array, ., TypedData_Float32Array_factory, 307228626) \ | 271 V(_Float32Array, ., TypedData_Float32Array_factory, 307228626) \ |
272 V(_Float64Array, ., TypedData_Float64Array_factory, 1700923139) \ | 272 V(_Float64Array, ., TypedData_Float64Array_factory, 1700923139) \ |
273 V(_Float32x4Array, ., TypedData_Float32x4Array_factory, 1083909924) \ | 273 V(_Float32x4Array, ., TypedData_Float32x4Array_factory, 1083909924) \ |
274 V(_Int32x4Array, ., TypedData_Int32x4Array_factory, 803703492) \ | 274 V(_Int32x4Array, ., TypedData_Int32x4Array_factory, 803703492) \ |
275 V(_Float64x2Array, ., TypedData_Float64x2Array_factory, 944719167) \ | 275 V(_Float64x2Array, ., TypedData_Float64x2Array_factory, 944719167) \ |
276 | 276 |
277 #define GRAPH_TYPED_DATA_INTRINSICS_LIST(V) \ | 277 #define GRAPH_TYPED_DATA_INTRINSICS_LIST(V) \ |
278 V(_Uint8Array, [], Uint8ArrayGetIndexed, 513704632) \ | 278 V(_Uint8Array, [], Uint8ArrayGetIndexed, 513704632) \ |
279 V(_Uint8Array, []=, Uint8ArraySetIndexed, 2123520783) \ | 279 V(_Uint8Array, []=, Uint8ArraySetIndexed, 2123520783) \ |
280 V(_ExternalUint8Array, [], ExternalUint8ArrayGetIndexed, 513704632) \ | 280 V(_ExternalUint8Array, [], ExternalUint8ArrayGetIndexed, 513704632) \ |
281 V(_ExternalUint8Array, []=, ExternalUint8ArraySetIndexed, 2123520783) \ | 281 V(_ExternalUint8Array, []=, ExternalUint8ArraySetIndexed, 2123520783) \ |
282 V(_Uint32Array, [], Uint32ArrayGetIndexed, 1179675338) \ | 282 V(_Uint32Array, [], Uint32ArrayGetIndexed, 1179675338) \ |
283 V(_Uint32Array, []=, Uint32ArraySetIndexed, 1455695417) \ | 283 V(_Uint32Array, []=, Uint32ArraySetIndexed, 1455695417) \ |
284 V(_Float64Array, []=, Float64ArraySetIndexed, 1929239576) \ | 284 V(_Float64Array, []=, Float64ArraySetIndexed, 1929239576) \ |
285 V(_Float64Array, [], Float64ArrayGetIndexed, 816943529) \ | 285 V(_Float64Array, [], Float64ArrayGetIndexed, 816943529) \ |
286 V(_TypedList, get:length, TypedDataLength, 546364442) \ | 286 V(_TypedList, get:length, TypedDataLength, 546364442) \ |
287 V(_Float32x4, get:x, Float32x4ShuffleX, 1674625343) \ | 287 V(_Float32x4, get:x, Float32x4ShuffleX, 1674625343) \ |
(...skipping 26 matching lines...) Expand all Loading... |
314 V(_UserTag, makeCurrent, UserTag_makeCurrent, 187721469) \ | 314 V(_UserTag, makeCurrent, UserTag_makeCurrent, 187721469) \ |
315 V(::, _getDefaultTag, UserTag_defaultTag, 1872263331) \ | 315 V(::, _getDefaultTag, UserTag_defaultTag, 1872263331) \ |
316 V(::, _getCurrentTag, Profiler_getCurrentTag, 692104531) \ | 316 V(::, _getCurrentTag, Profiler_getCurrentTag, 692104531) \ |
317 | 317 |
318 #define ALL_INTRINSICS_NO_INTEGER_LIB_LIST(V) \ | 318 #define ALL_INTRINSICS_NO_INTEGER_LIB_LIST(V) \ |
319 CORE_LIB_INTRINSIC_LIST(V) \ | 319 CORE_LIB_INTRINSIC_LIST(V) \ |
320 DEVELOPER_LIB_INTRINSIC_LIST(V) \ | 320 DEVELOPER_LIB_INTRINSIC_LIST(V) \ |
321 MATH_LIB_INTRINSIC_LIST(V) \ | 321 MATH_LIB_INTRINSIC_LIST(V) \ |
322 TYPED_DATA_LIB_INTRINSIC_LIST(V) \ | 322 TYPED_DATA_LIB_INTRINSIC_LIST(V) \ |
323 | 323 |
324 | |
325 #define ALL_INTRINSICS_LIST(V) \ | 324 #define ALL_INTRINSICS_LIST(V) \ |
326 ALL_INTRINSICS_NO_INTEGER_LIB_LIST(V) \ | 325 ALL_INTRINSICS_NO_INTEGER_LIB_LIST(V) \ |
327 CORE_INTEGER_LIB_INTRINSIC_LIST(V) | 326 CORE_INTEGER_LIB_INTRINSIC_LIST(V) |
328 | 327 |
329 #define RECOGNIZED_LIST(V) \ | 328 #define RECOGNIZED_LIST(V) \ |
330 OTHER_RECOGNIZED_LIST(V) \ | 329 OTHER_RECOGNIZED_LIST(V) \ |
331 ALL_INTRINSICS_LIST(V) \ | 330 ALL_INTRINSICS_LIST(V) \ |
332 GRAPH_INTRINSICS_LIST(V) | 331 GRAPH_INTRINSICS_LIST(V) |
333 | 332 |
334 // A list of core function that should always be inlined. | 333 // A list of core function that should always be inlined. |
(...skipping 200 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
535 // Class that recognizes factories and returns corresponding result cid. | 534 // Class that recognizes factories and returns corresponding result cid. |
536 class FactoryRecognizer : public AllStatic { | 535 class FactoryRecognizer : public AllStatic { |
537 public: | 536 public: |
538 // Return kDynamicCid if factory is not recognized. | 537 // Return kDynamicCid if factory is not recognized. |
539 static intptr_t ResultCid(const Function& factory); | 538 static intptr_t ResultCid(const Function& factory); |
540 }; | 539 }; |
541 | 540 |
542 } // namespace dart | 541 } // namespace dart |
543 | 542 |
544 #endif // VM_METHOD_RECOGNIZER_H_ | 543 #endif // VM_METHOD_RECOGNIZER_H_ |
OLD | NEW |