| 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/allocation.h" | 8 #include "src/allocation.h" |
| 9 #include "src/macro-assembler.h" | 9 #include "src/macro-assembler.h" |
| 10 | 10 |
| (...skipping 392 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 403 enum BailoutType { EAGER, LAZY, SOFT, kLastBailoutType = SOFT }; | 403 enum BailoutType { EAGER, LAZY, SOFT, kLastBailoutType = SOFT }; |
| 404 | 404 |
| 405 #define DEOPT_MESSAGES_CONSTANTS(C, T) C, | 405 #define DEOPT_MESSAGES_CONSTANTS(C, T) C, |
| 406 enum DeoptReason { | 406 enum DeoptReason { |
| 407 DEOPT_MESSAGES_LIST(DEOPT_MESSAGES_CONSTANTS) kLastDeoptReason | 407 DEOPT_MESSAGES_LIST(DEOPT_MESSAGES_CONSTANTS) kLastDeoptReason |
| 408 }; | 408 }; |
| 409 #undef DEOPT_MESSAGES_CONSTANTS | 409 #undef DEOPT_MESSAGES_CONSTANTS |
| 410 static const char* GetDeoptReason(DeoptReason deopt_reason); | 410 static const char* GetDeoptReason(DeoptReason deopt_reason); |
| 411 | 411 |
| 412 struct DeoptInfo { | 412 struct DeoptInfo { |
| 413 DeoptInfo(SourcePosition position, DeoptReason d) | 413 DeoptInfo(SourcePosition position, DeoptReason d, int inlining_id) |
| 414 : position(position), deopt_reason(d), inlining_id(0) {} | 414 : position(position), deopt_reason(d), inlining_id(inlining_id) {} |
| 415 | 415 |
| 416 SourcePosition position; | 416 SourcePosition position; |
| 417 DeoptReason deopt_reason; | 417 DeoptReason deopt_reason; |
| 418 int inlining_id; | 418 int inlining_id; |
| 419 }; | 419 }; |
| 420 | 420 |
| 421 static DeoptInfo GetDeoptInfo(Code* code, byte* from); | 421 static DeoptInfo GetDeoptInfo(Code* code, byte* from); |
| 422 | 422 |
| 423 struct JumpTableEntry : public ZoneObject { | 423 struct JumpTableEntry : public ZoneObject { |
| 424 inline JumpTableEntry(Address entry, const DeoptInfo& deopt_info, | 424 inline JumpTableEntry(Address entry, const DeoptInfo& deopt_info, |
| (...skipping 688 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1113 std::vector<Handle<Object> > expression_stack_; | 1113 std::vector<Handle<Object> > expression_stack_; |
| 1114 int source_position_; | 1114 int source_position_; |
| 1115 | 1115 |
| 1116 friend class Deoptimizer; | 1116 friend class Deoptimizer; |
| 1117 }; | 1117 }; |
| 1118 | 1118 |
| 1119 } // namespace internal | 1119 } // namespace internal |
| 1120 } // namespace v8 | 1120 } // namespace v8 |
| 1121 | 1121 |
| 1122 #endif // V8_DEOPTIMIZER_H_ | 1122 #endif // V8_DEOPTIMIZER_H_ |
| OLD | NEW |