Index: src/mips/lithium-codegen-mips.cc |
diff --git a/src/mips/lithium-codegen-mips.cc b/src/mips/lithium-codegen-mips.cc |
index edf8b95bedf866c08b2fb516e96fa4dddb22a326..30d7efd1b0d2f89034346ada2d66a9ab13ca19be 100644 |
--- a/src/mips/lithium-codegen-mips.cc |
+++ b/src/mips/lithium-codegen-mips.cc |
@@ -861,6 +861,13 @@ void LCodeGen::PopulateDeoptimizationData(Handle<Code> code) { |
data->SetTranslationByteArray(*translations); |
data->SetInlinedFunctionCount(Smi::FromInt(inlined_function_count_)); |
data->SetOptimizationId(Smi::FromInt(info_->optimization_id())); |
+ if (info_->IsOptimizing()) { |
+ // Reference to shared function info does not change between phases. |
+ AllowDeferredHandleDereference allow_handle_dereference; |
+ data->SetSharedFunctionInfo(*info_->shared_info()); |
+ } else { |
+ data->SetSharedFunctionInfo(Smi::FromInt(0)); |
+ } |
Handle<FixedArray> literals = |
factory()->NewFixedArray(deoptimization_literals_.length(), TENURED); |