| OLD | NEW |
| 1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2013, 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_INTERMEDIATE_LANGUAGE_H_ | 5 #ifndef VM_INTERMEDIATE_LANGUAGE_H_ |
| 6 #define VM_INTERMEDIATE_LANGUAGE_H_ | 6 #define VM_INTERMEDIATE_LANGUAGE_H_ |
| 7 | 7 |
| 8 #include "vm/allocation.h" | 8 #include "vm/allocation.h" |
| 9 #include "vm/ast.h" | 9 #include "vm/ast.h" |
| 10 #include "vm/growable_array.h" | 10 #include "vm/growable_array.h" |
| (...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 72 V(_StringBase, [], StringBaseCharAt, 924930519) \ | 72 V(_StringBase, [], StringBaseCharAt, 924930519) \ |
| 73 V(_OneByteString, _setAt, OneByteStringSetAt, 456985263) \ | 73 V(_OneByteString, _setAt, OneByteStringSetAt, 456985263) \ |
| 74 V(_IntegerImplementation, toDouble, IntegerToDouble, 2141284842) \ | 74 V(_IntegerImplementation, toDouble, IntegerToDouble, 2141284842) \ |
| 75 V(_IntegerImplementation, _leftShiftWithMask32, IntegerLeftShiftWithMask32, \ | 75 V(_IntegerImplementation, _leftShiftWithMask32, IntegerLeftShiftWithMask32, \ |
| 76 964472615) \ | 76 964472615) \ |
| 77 V(_Double, toInt, DoubleToInteger, 1580473283) \ | 77 V(_Double, toInt, DoubleToInteger, 1580473283) \ |
| 78 V(_Double, truncateToDouble, DoubleTruncate, 849350203) \ | 78 V(_Double, truncateToDouble, DoubleTruncate, 849350203) \ |
| 79 V(_Double, roundToDouble, DoubleRound, 500368418) \ | 79 V(_Double, roundToDouble, DoubleRound, 500368418) \ |
| 80 V(_Double, floorToDouble, DoubleFloor, 763548522) \ | 80 V(_Double, floorToDouble, DoubleFloor, 763548522) \ |
| 81 V(_Double, ceilToDouble, DoubleCeil, 976697019) \ | 81 V(_Double, ceilToDouble, DoubleCeil, 976697019) \ |
| 82 V(_Double, pow, DoublePow, 1240251670) \ | |
| 83 V(_Double, _modulo, DoubleMod, 1850917533) \ | 82 V(_Double, _modulo, DoubleMod, 1850917533) \ |
| 84 V(::, sqrt, MathSqrt, 465520247) \ | 83 V(::, sqrt, MathSqrt, 465520247) \ |
| 85 V(::, sin, MathSin, 730107143) \ | 84 V(::, sin, MathSin, 730107143) \ |
| 86 V(::, cos, MathCos, 1282146521) \ | 85 V(::, cos, MathCos, 1282146521) \ |
| 87 V(::, min, MathMin, 1584022354) \ | 86 V(::, min, MathMin, 1584022354) \ |
| 88 V(::, max, MathMax, 328632232) \ | 87 V(::, max, MathMax, 328632232) \ |
| 88 V(::, _doublePow, MathDoublePow, 2002448359) \ |
| 89 V(Float32x4, Float32x4., Float32x4Constructor, 1876089990) \ | 89 V(Float32x4, Float32x4., Float32x4Constructor, 1876089990) \ |
| 90 V(Float32x4, Float32x4.zero, Float32x4Zero, 1903586222) \ | 90 V(Float32x4, Float32x4.zero, Float32x4Zero, 1903586222) \ |
| 91 V(Float32x4, Float32x4.splat, Float32x4Splat, 38462589) \ | 91 V(Float32x4, Float32x4.splat, Float32x4Splat, 38462589) \ |
| 92 V(_Float32x4, shuffle, Float32x4Shuffle, 713523911) \ | 92 V(_Float32x4, shuffle, Float32x4Shuffle, 713523911) \ |
| 93 V(_Float32x4, get:x, Float32x4ShuffleX, 1019523296) \ | 93 V(_Float32x4, get:x, Float32x4ShuffleX, 1019523296) \ |
| 94 V(_Float32x4, get:y, Float32x4ShuffleY, 710282243) \ | 94 V(_Float32x4, get:y, Float32x4ShuffleY, 710282243) \ |
| 95 V(_Float32x4, get:z, Float32x4ShuffleZ, 1612806041) \ | 95 V(_Float32x4, get:z, Float32x4ShuffleZ, 1612806041) \ |
| 96 V(_Float32x4, get:w, Float32x4ShuffleW, 1113701403) \ | 96 V(_Float32x4, get:w, Float32x4ShuffleW, 1113701403) \ |
| 97 V(_Float32x4, get:signMask, Float32x4GetSignMask, 465347632) \ | 97 V(_Float32x4, get:signMask, Float32x4GetSignMask, 465347632) \ |
| 98 V(_Float32x4, _cmpequal, Float32x4Equal, 1559121703) \ | 98 V(_Float32x4, _cmpequal, Float32x4Equal, 1559121703) \ |
| (...skipping 6238 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 6337 private: | 6337 private: |
| 6338 const MethodRecognizer::Kind recognized_kind_; | 6338 const MethodRecognizer::Kind recognized_kind_; |
| 6339 | 6339 |
| 6340 DISALLOW_COPY_AND_ASSIGN(DoubleToDoubleInstr); | 6340 DISALLOW_COPY_AND_ASSIGN(DoubleToDoubleInstr); |
| 6341 }; | 6341 }; |
| 6342 | 6342 |
| 6343 | 6343 |
| 6344 class InvokeMathCFunctionInstr : public Definition { | 6344 class InvokeMathCFunctionInstr : public Definition { |
| 6345 public: | 6345 public: |
| 6346 InvokeMathCFunctionInstr(ZoneGrowableArray<Value*>* inputs, | 6346 InvokeMathCFunctionInstr(ZoneGrowableArray<Value*>* inputs, |
| 6347 InstanceCallInstr* instance_call, | 6347 intptr_t original_deopt_id, |
| 6348 MethodRecognizer::Kind recognized_kind); | 6348 MethodRecognizer::Kind recognized_kind); |
| 6349 | 6349 |
| 6350 static intptr_t ArgumentCountFor(MethodRecognizer::Kind recognized_kind_); | 6350 static intptr_t ArgumentCountFor(MethodRecognizer::Kind recognized_kind_); |
| 6351 | 6351 |
| 6352 const RuntimeEntry& TargetFunction() const; | 6352 const RuntimeEntry& TargetFunction() const; |
| 6353 | 6353 |
| 6354 MethodRecognizer::Kind recognized_kind() const { return recognized_kind_; } | 6354 MethodRecognizer::Kind recognized_kind() const { return recognized_kind_; } |
| 6355 | 6355 |
| 6356 DECLARE_INSTRUCTION(InvokeMathCFunction) | 6356 DECLARE_INSTRUCTION(InvokeMathCFunction) |
| 6357 virtual CompileType ComputeType() const; | 6357 virtual CompileType ComputeType() const; |
| (...skipping 382 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 6740 ForwardInstructionIterator* current_iterator_; | 6740 ForwardInstructionIterator* current_iterator_; |
| 6741 | 6741 |
| 6742 private: | 6742 private: |
| 6743 DISALLOW_COPY_AND_ASSIGN(FlowGraphVisitor); | 6743 DISALLOW_COPY_AND_ASSIGN(FlowGraphVisitor); |
| 6744 }; | 6744 }; |
| 6745 | 6745 |
| 6746 | 6746 |
| 6747 } // namespace dart | 6747 } // namespace dart |
| 6748 | 6748 |
| 6749 #endif // VM_INTERMEDIATE_LANGUAGE_H_ | 6749 #endif // VM_INTERMEDIATE_LANGUAGE_H_ |
| OLD | NEW |