| Index: src/hydrogen-environment-liveness.cc
|
| diff --git a/src/hydrogen-environment-liveness.cc b/src/hydrogen-environment-liveness.cc
|
| index d7501ac49e6fd2b519a1471a1f6d88543410d16d..726198d98b5359cfd26c66cbb89ecf5d03c1497a 100644
|
| --- a/src/hydrogen-environment-liveness.cc
|
| +++ b/src/hydrogen-environment-liveness.cc
|
| @@ -84,8 +84,8 @@ void HEnvironmentLivenessAnalysisPhase::ZapEnvironmentSlotsInSuccessors(
|
| }
|
| HSimulate* simulate = first_simulate_.at(successor_id);
|
| if (simulate == NULL) continue;
|
| - ASSERT(simulate->closure().is_identical_to(
|
| - block->last_environment()->closure()));
|
| + ASSERT(VerifyClosures(simulate->closure(),
|
| + block->last_environment()->closure()));
|
| ZapEnvironmentSlot(i, simulate);
|
| }
|
| }
|
| @@ -97,7 +97,7 @@ void HEnvironmentLivenessAnalysisPhase::ZapEnvironmentSlotsForInstruction(
|
| if (!marker->CheckFlag(HValue::kEndsLiveRange)) return;
|
| HSimulate* simulate = marker->next_simulate();
|
| if (simulate != NULL) {
|
| - ASSERT(simulate->closure().is_identical_to(marker->closure()));
|
| + ASSERT(VerifyClosures(simulate->closure(), marker->closure()));
|
| ZapEnvironmentSlot(marker->index(), simulate);
|
| }
|
| }
|
| @@ -241,4 +241,14 @@ void HEnvironmentLivenessAnalysisPhase::Run() {
|
| }
|
| }
|
|
|
| +
|
| +#ifdef DEBUG
|
| +bool HEnvironmentLivenessAnalysisPhase::VerifyClosures(
|
| + Handle<JSFunction> a, Handle<JSFunction> b) {
|
| + Heap::RelocationLock for_heap_access(isolate()->heap());
|
| + AllowHandleDereference for_verification;
|
| + return a.is_identical_to(b);
|
| +}
|
| +#endif
|
| +
|
| } } // namespace v8::internal
|
|
|