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_DEOPTIMIZER_H_ | 5 #ifndef V8_DEOPTIMIZER_H_ |
6 #define V8_DEOPTIMIZER_H_ | 6 #define V8_DEOPTIMIZER_H_ |
7 | 7 |
8 #include "src/v8.h" | 8 #include "src/v8.h" |
9 | 9 |
10 #include "src/allocation.h" | 10 #include "src/allocation.h" |
(...skipping 142 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
153 V(kUninitializedBoilerplateInFastClone, \ | 153 V(kUninitializedBoilerplateInFastClone, \ |
154 "Uninitialized boilerplate in fast clone") \ | 154 "Uninitialized boilerplate in fast clone") \ |
155 V(kUninitializedBoilerplateLiterals, "Uninitialized boilerplate literals") \ | 155 V(kUninitializedBoilerplateLiterals, "Uninitialized boilerplate literals") \ |
156 V(kUnknownMapInPolymorphicAccess, "Unknown map in polymorphic access") \ | 156 V(kUnknownMapInPolymorphicAccess, "Unknown map in polymorphic access") \ |
157 V(kUnknownMapInPolymorphicCall, "Unknown map in polymorphic call") \ | 157 V(kUnknownMapInPolymorphicCall, "Unknown map in polymorphic call") \ |
158 V(kUnknownMapInPolymorphicElementAccess, \ | 158 V(kUnknownMapInPolymorphicElementAccess, \ |
159 "Unknown map in polymorphic element access") \ | 159 "Unknown map in polymorphic element access") \ |
160 V(kUnknownMap, "Unknown map") \ | 160 V(kUnknownMap, "Unknown map") \ |
161 V(kValueMismatch, "value mismatch") \ | 161 V(kValueMismatch, "value mismatch") \ |
162 V(kWrongInstanceType, "wrong instance type") \ | 162 V(kWrongInstanceType, "wrong instance type") \ |
163 V(kWrongMap, "wrong map") | 163 V(kWrongMap, "wrong map") \ |
| 164 V(kUndefinedOrNullInForIn, "null or undefined in for-in") |
164 | 165 |
165 | 166 |
166 class Deoptimizer : public Malloced { | 167 class Deoptimizer : public Malloced { |
167 public: | 168 public: |
168 enum BailoutType { | 169 enum BailoutType { |
169 EAGER, | 170 EAGER, |
170 LAZY, | 171 LAZY, |
171 SOFT, | 172 SOFT, |
172 // This last bailout type is not really a bailout, but used by the | 173 // This last bailout type is not really a bailout, but used by the |
173 // debugger to deoptimize stack frames to allow inspection. | 174 // debugger to deoptimize stack frames to allow inspection. |
(...skipping 874 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1048 Object** parameters_; | 1049 Object** parameters_; |
1049 Object** expression_stack_; | 1050 Object** expression_stack_; |
1050 int source_position_; | 1051 int source_position_; |
1051 | 1052 |
1052 friend class Deoptimizer; | 1053 friend class Deoptimizer; |
1053 }; | 1054 }; |
1054 | 1055 |
1055 } } // namespace v8::internal | 1056 } } // namespace v8::internal |
1056 | 1057 |
1057 #endif // V8_DEOPTIMIZER_H_ | 1058 #endif // V8_DEOPTIMIZER_H_ |
OLD | NEW |