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 367 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
378 "Uninitialized boilerplate in fast clone") \ | 378 "Uninitialized boilerplate in fast clone") \ |
379 V(kUninitializedBoilerplateLiterals, "Uninitialized boilerplate literals") \ | 379 V(kUninitializedBoilerplateLiterals, "Uninitialized boilerplate literals") \ |
380 V(kUnknownMapInPolymorphicAccess, "Unknown map in polymorphic access") \ | 380 V(kUnknownMapInPolymorphicAccess, "Unknown map in polymorphic access") \ |
381 V(kUnknownMapInPolymorphicCall, "Unknown map in polymorphic call") \ | 381 V(kUnknownMapInPolymorphicCall, "Unknown map in polymorphic call") \ |
382 V(kUnknownMapInPolymorphicElementAccess, \ | 382 V(kUnknownMapInPolymorphicElementAccess, \ |
383 "Unknown map in polymorphic element access") \ | 383 "Unknown map in polymorphic element access") \ |
384 V(kUnknownMap, "Unknown map") \ | 384 V(kUnknownMap, "Unknown map") \ |
385 V(kValueMismatch, "value mismatch") \ | 385 V(kValueMismatch, "value mismatch") \ |
386 V(kWrongInstanceType, "wrong instance type") \ | 386 V(kWrongInstanceType, "wrong instance type") \ |
387 V(kWrongMap, "wrong map") \ | 387 V(kWrongMap, "wrong map") \ |
388 V(kUndefinedOrNullInForIn, "null or undefined in for-in") | 388 V(kUndefinedOrNullInForIn, "null or undefined in for-in") \ |
| 389 V(kUndefinedOrNullInToObject, "null or undefined in ToObject") |
389 | 390 |
390 | 391 |
391 class Deoptimizer : public Malloced { | 392 class Deoptimizer : public Malloced { |
392 public: | 393 public: |
393 enum BailoutType { | 394 enum BailoutType { |
394 EAGER, | 395 EAGER, |
395 LAZY, | 396 LAZY, |
396 SOFT, | 397 SOFT, |
397 // This last bailout type is not really a bailout, but used by the | 398 // This last bailout type is not really a bailout, but used by the |
398 // debugger to deoptimize stack frames to allow inspection. | 399 // debugger to deoptimize stack frames to allow inspection. |
(...skipping 739 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1138 Object** expression_stack_; | 1139 Object** expression_stack_; |
1139 int source_position_; | 1140 int source_position_; |
1140 | 1141 |
1141 friend class Deoptimizer; | 1142 friend class Deoptimizer; |
1142 }; | 1143 }; |
1143 | 1144 |
1144 } // namespace internal | 1145 } // namespace internal |
1145 } // namespace v8 | 1146 } // namespace v8 |
1146 | 1147 |
1147 #endif // V8_DEOPTIMIZER_H_ | 1148 #endif // V8_DEOPTIMIZER_H_ |
OLD | NEW |