| Index: src/hydrogen.h
|
| diff --git a/src/hydrogen.h b/src/hydrogen.h
|
| index 6312a52376f50713ac584460634dbf4a63161d28..d5c6040a1e68e77680a7690ded30f491ea9f7552 100644
|
| --- a/src/hydrogen.h
|
| +++ b/src/hydrogen.h
|
| @@ -1270,7 +1270,8 @@ class HGraphBuilder {
|
|
|
| void PushAndAdd(HInstruction* instr);
|
|
|
| - void FinishExitWithHardDeoptimization(HBasicBlock* continuation);
|
| + void FinishExitWithHardDeoptimization(const char* reason,
|
| + HBasicBlock* continuation);
|
|
|
| void AddIncrementCounter(StatsCounter* counter,
|
| HValue* context);
|
| @@ -1374,10 +1375,10 @@ class HGraphBuilder {
|
| void Else();
|
| void End();
|
|
|
| - void Deopt();
|
| - void ElseDeopt() {
|
| + void Deopt(const char* reason);
|
| + void ElseDeopt(const char* reason) {
|
| Else();
|
| - Deopt();
|
| + Deopt(reason);
|
| }
|
|
|
| void Return(HValue* value);
|
| @@ -1582,13 +1583,13 @@ class HGraphBuilder {
|
|
|
| template<>
|
| inline HInstruction* HGraphBuilder::AddUncasted<HDeoptimize>(
|
| - Deoptimizer::BailoutType type) {
|
| + const char* reason, Deoptimizer::BailoutType type) {
|
| if (type == Deoptimizer::SOFT) {
|
| isolate()->counters()->soft_deopts_requested()->Increment();
|
| if (FLAG_always_opt) return NULL;
|
| }
|
| if (current_block()->IsDeoptimizing()) return NULL;
|
| - HDeoptimize* instr = New<HDeoptimize>(type);
|
| + HDeoptimize* instr = New<HDeoptimize>(reason, type);
|
| AddInstruction(instr);
|
| if (type == Deoptimizer::SOFT) {
|
| isolate()->counters()->soft_deopts_inserted()->Increment();
|
| @@ -1601,8 +1602,8 @@ inline HInstruction* HGraphBuilder::AddUncasted<HDeoptimize>(
|
|
|
| template<>
|
| inline HDeoptimize* HGraphBuilder::Add<HDeoptimize>(
|
| - Deoptimizer::BailoutType type) {
|
| - return static_cast<HDeoptimize*>(AddUncasted<HDeoptimize>(type));
|
| + const char* reason, Deoptimizer::BailoutType type) {
|
| + return static_cast<HDeoptimize*>(AddUncasted<HDeoptimize>(reason, type));
|
| }
|
|
|
|
|
|
|