OLD | NEW |
1 // Copyright 2012 the V8 project authors. All rights reserved. | 1 // Copyright 2012 the V8 project authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "src/crankshaft/hydrogen-instructions.h" | 5 #include "src/crankshaft/hydrogen-instructions.h" |
6 | 6 |
7 #include "src/base/bits.h" | 7 #include "src/base/bits.h" |
8 #include "src/base/ieee754.h" | 8 #include "src/base/ieee754.h" |
9 #include "src/base/safe_math.h" | 9 #include "src/base/safe_math.h" |
10 #include "src/crankshaft/hydrogen-infer-representation.h" | 10 #include "src/crankshaft/hydrogen-infer-representation.h" |
(...skipping 846 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
857 case HValue::kPower: | 857 case HValue::kPower: |
858 case HValue::kPrologue: | 858 case HValue::kPrologue: |
859 case HValue::kRor: | 859 case HValue::kRor: |
860 case HValue::kSar: | 860 case HValue::kSar: |
861 case HValue::kSeqStringSetChar: | 861 case HValue::kSeqStringSetChar: |
862 case HValue::kShl: | 862 case HValue::kShl: |
863 case HValue::kShr: | 863 case HValue::kShr: |
864 case HValue::kSimulate: | 864 case HValue::kSimulate: |
865 case HValue::kStackCheck: | 865 case HValue::kStackCheck: |
866 case HValue::kStoreContextSlot: | 866 case HValue::kStoreContextSlot: |
867 case HValue::kStoreKeyedGeneric: | |
868 case HValue::kStringAdd: | 867 case HValue::kStringAdd: |
869 case HValue::kStringCompareAndBranch: | 868 case HValue::kStringCompareAndBranch: |
870 case HValue::kSub: | 869 case HValue::kSub: |
871 case HValue::kTransitionElementsKind: | 870 case HValue::kTransitionElementsKind: |
872 case HValue::kTrapAllocationMemento: | 871 case HValue::kTrapAllocationMemento: |
873 case HValue::kTypeof: | 872 case HValue::kTypeof: |
874 case HValue::kUnaryMathOperation: | 873 case HValue::kUnaryMathOperation: |
875 case HValue::kWrapReceiver: | 874 case HValue::kWrapReceiver: |
876 return true; | 875 return true; |
877 } | 876 } |
(...skipping 2160 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3038 elements_kind() <= LAST_FIXED_TYPED_ARRAY_ELEMENTS_KIND); | 3037 elements_kind() <= LAST_FIXED_TYPED_ARRAY_ELEMENTS_KIND); |
3039 os << NameOf(elements()) << "." << ElementsKindToString(elements_kind()); | 3038 os << NameOf(elements()) << "." << ElementsKindToString(elements_kind()); |
3040 } | 3039 } |
3041 | 3040 |
3042 os << "[" << NameOf(key()); | 3041 os << "[" << NameOf(key()); |
3043 if (IsDehoisted()) os << " + " << base_offset(); | 3042 if (IsDehoisted()) os << " + " << base_offset(); |
3044 return os << "] = " << NameOf(value()); | 3043 return os << "] = " << NameOf(value()); |
3045 } | 3044 } |
3046 | 3045 |
3047 | 3046 |
3048 std::ostream& HStoreKeyedGeneric::PrintDataTo( | |
3049 std::ostream& os) const { // NOLINT | |
3050 return os << NameOf(object()) << "[" << NameOf(key()) | |
3051 << "] = " << NameOf(value()); | |
3052 } | |
3053 | |
3054 | |
3055 std::ostream& HTransitionElementsKind::PrintDataTo( | 3047 std::ostream& HTransitionElementsKind::PrintDataTo( |
3056 std::ostream& os) const { // NOLINT | 3048 std::ostream& os) const { // NOLINT |
3057 os << NameOf(object()); | 3049 os << NameOf(object()); |
3058 ElementsKind from_kind = original_map().handle()->elements_kind(); | 3050 ElementsKind from_kind = original_map().handle()->elements_kind(); |
3059 ElementsKind to_kind = transitioned_map().handle()->elements_kind(); | 3051 ElementsKind to_kind = transitioned_map().handle()->elements_kind(); |
3060 os << " " << *original_map().handle() << " [" | 3052 os << " " << *original_map().handle() << " [" |
3061 << ElementsAccessor::ForKind(from_kind)->name() << "] -> " | 3053 << ElementsAccessor::ForKind(from_kind)->name() << "] -> " |
3062 << *transitioned_map().handle() << " [" | 3054 << *transitioned_map().handle() << " [" |
3063 << ElementsAccessor::ForKind(to_kind)->name() << "]"; | 3055 << ElementsAccessor::ForKind(to_kind)->name() << "]"; |
3064 if (IsSimpleMapChangeTransition(from_kind, to_kind)) os << " (simple)"; | 3056 if (IsSimpleMapChangeTransition(from_kind, to_kind)) os << " (simple)"; |
(...skipping 981 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
4046 case HObjectAccess::kExternalMemory: | 4038 case HObjectAccess::kExternalMemory: |
4047 os << "[external-memory]"; | 4039 os << "[external-memory]"; |
4048 break; | 4040 break; |
4049 } | 4041 } |
4050 | 4042 |
4051 return os << "@" << access.offset(); | 4043 return os << "@" << access.offset(); |
4052 } | 4044 } |
4053 | 4045 |
4054 } // namespace internal | 4046 } // namespace internal |
4055 } // namespace v8 | 4047 } // namespace v8 |
OLD | NEW |