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_FLOW_GRAPH_RANGE_ANALYSIS_H_ | 5 #ifndef VM_FLOW_GRAPH_RANGE_ANALYSIS_H_ |
6 #define VM_FLOW_GRAPH_RANGE_ANALYSIS_H_ | 6 #define VM_FLOW_GRAPH_RANGE_ANALYSIS_H_ |
7 | 7 |
8 #include "vm/flow_graph.h" | 8 #include "vm/flow_graph.h" |
9 #include "vm/intermediate_language.h" | 9 #include "vm/intermediate_language.h" |
10 | 10 |
(...skipping 422 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
433 RangeBoundary* min, | 433 RangeBoundary* min, |
434 RangeBoundary* max, | 434 RangeBoundary* max, |
435 Definition* left_defn); | 435 Definition* left_defn); |
436 | 436 |
437 static void Sub(const Range* left_range, | 437 static void Sub(const Range* left_range, |
438 const Range* right_range, | 438 const Range* right_range, |
439 RangeBoundary* min, | 439 RangeBoundary* min, |
440 RangeBoundary* max, | 440 RangeBoundary* max, |
441 Definition* left_defn); | 441 Definition* left_defn); |
442 | 442 |
443 static bool Mul(const Range* left_range, | 443 static void Mul(const Range* left_range, |
444 const Range* right_range, | 444 const Range* right_range, |
445 RangeBoundary* min, | 445 RangeBoundary* min, |
446 RangeBoundary* max); | 446 RangeBoundary* max); |
447 static void Shr(const Range* left_range, | 447 static void Shr(const Range* left_range, |
448 const Range* right_range, | 448 const Range* right_range, |
449 RangeBoundary* min, | 449 RangeBoundary* min, |
450 RangeBoundary* max); | 450 RangeBoundary* max); |
451 | 451 |
452 static void Shl(const Range* left_range, | 452 static void Shl(const Range* left_range, |
453 const Range* right_range, | 453 const Range* right_range, |
454 RangeBoundary* min, | 454 RangeBoundary* min, |
455 RangeBoundary* max); | 455 RangeBoundary* max); |
456 | 456 |
457 static bool And(const Range* left_range, | 457 static void And(const Range* left_range, |
458 const Range* right_range, | 458 const Range* right_range, |
459 RangeBoundary* min, | 459 RangeBoundary* min, |
460 RangeBoundary* max); | 460 RangeBoundary* max); |
461 | 461 |
462 static void Xor(const Range* left_range, | 462 static void Xor(const Range* left_range, |
463 const Range* right_range, | 463 const Range* right_range, |
464 RangeBoundary* min, | 464 RangeBoundary* min, |
465 RangeBoundary* max); | 465 RangeBoundary* max); |
466 | 466 |
467 // Both the a and b ranges are >= 0. | 467 // Both the a and b ranges are >= 0. |
(...skipping 186 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
654 BitVector* selected_uint32_defs_; | 654 BitVector* selected_uint32_defs_; |
655 | 655 |
656 FlowGraph* flow_graph_; | 656 FlowGraph* flow_graph_; |
657 Isolate* isolate_; | 657 Isolate* isolate_; |
658 }; | 658 }; |
659 | 659 |
660 | 660 |
661 } // namespace dart | 661 } // namespace dart |
662 | 662 |
663 #endif // VM_FLOW_GRAPH_RANGE_ANALYSIS_H_ | 663 #endif // VM_FLOW_GRAPH_RANGE_ANALYSIS_H_ |
OLD | NEW |