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 #ifndef V8_IC_STATE_H_ | 5 #ifndef V8_IC_STATE_H_ |
6 #define V8_IC_STATE_H_ | 6 #define V8_IC_STATE_H_ |
7 | 7 |
8 #include "src/macro-assembler.h" | 8 #include "src/macro-assembler.h" |
9 | 9 |
10 namespace v8 { | 10 namespace v8 { |
(...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
56 | 56 |
57 class BinaryOpICState FINAL BASE_EMBEDDED { | 57 class BinaryOpICState FINAL BASE_EMBEDDED { |
58 public: | 58 public: |
59 BinaryOpICState(Isolate* isolate, ExtraICState extra_ic_state); | 59 BinaryOpICState(Isolate* isolate, ExtraICState extra_ic_state); |
60 | 60 |
61 BinaryOpICState(Isolate* isolate, Token::Value op) | 61 BinaryOpICState(Isolate* isolate, Token::Value op) |
62 : op_(op), | 62 : op_(op), |
63 left_kind_(NONE), | 63 left_kind_(NONE), |
64 right_kind_(NONE), | 64 right_kind_(NONE), |
65 result_kind_(NONE), | 65 result_kind_(NONE), |
| 66 fixed_right_arg_(Nothing<int>()), |
66 isolate_(isolate) { | 67 isolate_(isolate) { |
67 DCHECK_LE(FIRST_TOKEN, op); | 68 DCHECK_LE(FIRST_TOKEN, op); |
68 DCHECK_LE(op, LAST_TOKEN); | 69 DCHECK_LE(op, LAST_TOKEN); |
69 } | 70 } |
70 | 71 |
71 InlineCacheState GetICState() const { | 72 InlineCacheState GetICState() const { |
72 if (Max(left_kind_, right_kind_) == NONE) { | 73 if (Max(left_kind_, right_kind_) == NONE) { |
73 return ::v8::internal::UNINITIALIZED; | 74 return ::v8::internal::UNINITIALIZED; |
74 } | 75 } |
75 if (Max(left_kind_, right_kind_) == GENERIC) { | 76 if (Max(left_kind_, right_kind_) == GENERIC) { |
(...skipping 138 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
214 private: | 215 private: |
215 class ContextualModeBits : public BitField<ContextualMode, 0, 1> {}; | 216 class ContextualModeBits : public BitField<ContextualMode, 0, 1> {}; |
216 STATIC_ASSERT(static_cast<int>(NOT_CONTEXTUAL) == 0); | 217 STATIC_ASSERT(static_cast<int>(NOT_CONTEXTUAL) == 0); |
217 | 218 |
218 const ExtraICState state_; | 219 const ExtraICState state_; |
219 }; | 220 }; |
220 } | 221 } |
221 } | 222 } |
222 | 223 |
223 #endif // V8_IC_STATE_H_ | 224 #endif // V8_IC_STATE_H_ |
OLD | NEW |