| 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 34 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 45 IntegerLeftShiftWithMask32, 1634465017) \ | 45 IntegerLeftShiftWithMask32, 1634465017) \ |
| 46 V(_Double, truncateToDouble, DoubleTruncate, 791143891) \ | 46 V(_Double, truncateToDouble, DoubleTruncate, 791143891) \ |
| 47 V(_Double, roundToDouble, DoubleRound, 797558034) \ | 47 V(_Double, roundToDouble, DoubleRound, 797558034) \ |
| 48 V(_Double, floorToDouble, DoubleFloor, 1789426271) \ | 48 V(_Double, floorToDouble, DoubleFloor, 1789426271) \ |
| 49 V(_Double, ceilToDouble, DoubleCeil, 453271198) \ | 49 V(_Double, ceilToDouble, DoubleCeil, 453271198) \ |
| 50 V(_Double, _modulo, DoubleMod, 1093862165) \ | 50 V(_Double, _modulo, DoubleMod, 1093862165) \ |
| 51 V(_Double, _add, DoubleAdd, 1190606283) \ | 51 V(_Double, _add, DoubleAdd, 1190606283) \ |
| 52 V(_Double, _sub, DoubleSub, 1086286468) \ | 52 V(_Double, _sub, DoubleSub, 1086286468) \ |
| 53 V(_Double, _mul, DoubleMul, 166332351) \ | 53 V(_Double, _mul, DoubleMul, 166332351) \ |
| 54 V(_Double, _div, DoubleDiv, 821396195) \ | 54 V(_Double, _div, DoubleDiv, 821396195) \ |
| 55 V(::, sin, MathSin, 939048573) \ |
| 56 V(::, cos, MathCos, 1148850331) \ |
| 57 V(::, tan, MathTan, 179725235) \ |
| 58 V(::, asin, MathAsin, 848695059) \ |
| 59 V(::, acos, MathAcos, 337299516) \ |
| 60 V(::, atan, MathAtan, 866406810) \ |
| 61 V(::, atan2, MathAtan2, 1901969510) \ |
| 55 V(::, min, MathMin, 1115051548) \ | 62 V(::, min, MathMin, 1115051548) \ |
| 56 V(::, max, MathMax, 1410473322) \ | 63 V(::, max, MathMax, 1410473322) \ |
| 57 V(::, _doublePow, MathDoublePow, 562154128) \ | 64 V(::, _doublePow, MathDoublePow, 562154128) \ |
| 58 V(Float32x4, Float32x4., Float32x4Constructor, 93751705) \ | 65 V(Float32x4, Float32x4., Float32x4Constructor, 93751705) \ |
| 59 V(Float32x4, Float32x4.zero, Float32x4Zero, 1193954374) \ | 66 V(Float32x4, Float32x4.zero, Float32x4Zero, 1193954374) \ |
| 60 V(Float32x4, Float32x4.splat, Float32x4Splat, 12296613) \ | 67 V(Float32x4, Float32x4.splat, Float32x4Splat, 12296613) \ |
| 61 V(Float32x4, Float32x4.fromInt32x4Bits, Float32x4FromInt32x4Bits, 1188039061)\ | 68 V(Float32x4, Float32x4.fromInt32x4Bits, Float32x4FromInt32x4Bits, 1188039061)\ |
| 62 V(Float32x4, Float32x4.fromFloat64x2, Float32x4FromFloat64x2, 1750763218) \ | 69 V(Float32x4, Float32x4.fromFloat64x2, Float32x4FromFloat64x2, 1750763218) \ |
| 63 V(Float32x4, shuffle, Float32x4Shuffle, 2015957023) \ | 70 V(Float32x4, shuffle, Float32x4Shuffle, 2015957023) \ |
| 64 V(Float32x4, shuffleMix, Float32x4ShuffleMix, 1099087979) \ | 71 V(Float32x4, shuffleMix, Float32x4ShuffleMix, 1099087979) \ |
| (...skipping 164 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 229 V(_IntegerImplementation, >=, Integer_greaterEqualThan, 1815180096) \ | 236 V(_IntegerImplementation, >=, Integer_greaterEqualThan, 1815180096) \ |
| 230 V(_IntegerImplementation, <<, Integer_shl, 293751452) \ | 237 V(_IntegerImplementation, <<, Integer_shl, 293751452) \ |
| 231 V(_IntegerImplementation, >>, Integer_sar, 125091101) \ | 238 V(_IntegerImplementation, >>, Integer_sar, 125091101) \ |
| 232 V(_Double, toInt, DoubleToInteger, 653210699) | 239 V(_Double, toInt, DoubleToInteger, 653210699) |
| 233 | 240 |
| 234 | 241 |
| 235 #define MATH_LIB_INTRINSIC_LIST(V) \ | 242 #define MATH_LIB_INTRINSIC_LIST(V) \ |
| 236 V(::, sqrt, MathSqrt, 1446681622) \ | 243 V(::, sqrt, MathSqrt, 1446681622) \ |
| 237 V(_Random, _nextState, Random_nextState, 1241583299) \ | 244 V(_Random, _nextState, Random_nextState, 1241583299) \ |
| 238 | 245 |
| 239 #define GRAPH_MATH_LIB_INTRINSIC_LIST(V) \ | |
| 240 V(::, sin, MathSin, 939048573) \ | |
| 241 V(::, cos, MathCos, 1148850331) \ | |
| 242 V(::, tan, MathTan, 179725235) \ | |
| 243 V(::, asin, MathAsin, 848695059) \ | |
| 244 V(::, acos, MathAcos, 337299516) \ | |
| 245 V(::, atan, MathAtan, 866406810) \ | |
| 246 V(::, atan2, MathAtan2, 1901969510) \ | |
| 247 | 246 |
| 248 #define TYPED_DATA_LIB_INTRINSIC_LIST(V) \ | 247 #define TYPED_DATA_LIB_INTRINSIC_LIST(V) \ |
| 249 V(Int8List, ., TypedData_Int8Array_factory, 779569635) \ | 248 V(Int8List, ., TypedData_Int8Array_factory, 779569635) \ |
| 250 V(Uint8List, ., TypedData_Uint8Array_factory, 1790399545) \ | 249 V(Uint8List, ., TypedData_Uint8Array_factory, 1790399545) \ |
| 251 V(Uint8ClampedList, ., TypedData_Uint8ClampedArray_factory, 405875159) \ | 250 V(Uint8ClampedList, ., TypedData_Uint8ClampedArray_factory, 405875159) \ |
| 252 V(Int16List, ., TypedData_Int16Array_factory, 347431914) \ | 251 V(Int16List, ., TypedData_Int16Array_factory, 347431914) \ |
| 253 V(Uint16List, ., TypedData_Uint16Array_factory, 121990116) \ | 252 V(Uint16List, ., TypedData_Uint16Array_factory, 121990116) \ |
| 254 V(Int32List, ., TypedData_Int32Array_factory, 1540657744) \ | 253 V(Int32List, ., TypedData_Int32Array_factory, 1540657744) \ |
| 255 V(Uint32List, ., TypedData_Uint32Array_factory, 1012511652) \ | 254 V(Uint32List, ., TypedData_Uint32Array_factory, 1012511652) \ |
| 256 V(Int64List, ., TypedData_Int64Array_factory, 1473796807) \ | 255 V(Int64List, ., TypedData_Int64Array_factory, 1473796807) \ |
| (...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 289 V(_GrowableList, _setData, GrowableArraySetData, 1496536873) \ | 288 V(_GrowableList, _setData, GrowableArraySetData, 1496536873) \ |
| 290 V(_GrowableList, _setLength, GrowableArraySetLength, 32203572) \ | 289 V(_GrowableList, _setLength, GrowableArraySetLength, 32203572) \ |
| 291 V(_GrowableList, [], GrowableArrayGetIndexed, 1957529650) \ | 290 V(_GrowableList, [], GrowableArrayGetIndexed, 1957529650) \ |
| 292 V(_GrowableList, []=, GrowableArraySetIndexed, 225246870) \ | 291 V(_GrowableList, []=, GrowableArraySetIndexed, 225246870) \ |
| 293 V(_StringBase, get:length, StringBaseLength, 707533587) \ | 292 V(_StringBase, get:length, StringBaseLength, 707533587) \ |
| 294 V(_Double, unary-, DoubleFlipSignBit, 1783281169) | 293 V(_Double, unary-, DoubleFlipSignBit, 1783281169) |
| 295 | 294 |
| 296 #define GRAPH_INTRINSICS_LIST(V) \ | 295 #define GRAPH_INTRINSICS_LIST(V) \ |
| 297 GRAPH_CORE_INTRINSICS_LIST(V) \ | 296 GRAPH_CORE_INTRINSICS_LIST(V) \ |
| 298 GRAPH_TYPED_DATA_INTRINSICS_LIST(V) \ | 297 GRAPH_TYPED_DATA_INTRINSICS_LIST(V) \ |
| 299 GRAPH_MATH_LIB_INTRINSIC_LIST(V) \ | |
| 300 | 298 |
| 301 #define DEVELOPER_LIB_INTRINSIC_LIST(V) \ | 299 #define DEVELOPER_LIB_INTRINSIC_LIST(V) \ |
| 302 V(_UserTag, makeCurrent, UserTag_makeCurrent, 187721469) \ | 300 V(_UserTag, makeCurrent, UserTag_makeCurrent, 187721469) \ |
| 303 V(::, _getDefaultTag, UserTag_defaultTag, 1872263331) \ | 301 V(::, _getDefaultTag, UserTag_defaultTag, 1872263331) \ |
| 304 V(::, _getCurrentTag, Profiler_getCurrentTag, 692104531) \ | 302 V(::, _getCurrentTag, Profiler_getCurrentTag, 692104531) \ |
| 305 | 303 |
| 306 #define ALL_INTRINSICS_NO_INTEGER_LIB_LIST(V) \ | 304 #define ALL_INTRINSICS_NO_INTEGER_LIB_LIST(V) \ |
| 307 CORE_LIB_INTRINSIC_LIST(V) \ | 305 CORE_LIB_INTRINSIC_LIST(V) \ |
| 308 DEVELOPER_LIB_INTRINSIC_LIST(V) \ | 306 DEVELOPER_LIB_INTRINSIC_LIST(V) \ |
| 309 MATH_LIB_INTRINSIC_LIST(V) \ | 307 MATH_LIB_INTRINSIC_LIST(V) \ |
| (...skipping 199 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 509 // Class that recognizes factories and returns corresponding result cid. | 507 // Class that recognizes factories and returns corresponding result cid. |
| 510 class FactoryRecognizer : public AllStatic { | 508 class FactoryRecognizer : public AllStatic { |
| 511 public: | 509 public: |
| 512 // Return kDynamicCid if factory is not recognized. | 510 // Return kDynamicCid if factory is not recognized. |
| 513 static intptr_t ResultCid(const Function& factory); | 511 static intptr_t ResultCid(const Function& factory); |
| 514 }; | 512 }; |
| 515 | 513 |
| 516 } // namespace dart | 514 } // namespace dart |
| 517 | 515 |
| 518 #endif // VM_METHOD_RECOGNIZER_H_ | 516 #endif // VM_METHOD_RECOGNIZER_H_ |
| OLD | NEW |