From 261bc887949e2325f4f51e604b2b3f3bd22a9089 Mon Sep 17 00:00:00 2001 From: "bmeurer@chromium.org" Date: Fri, 23 May 2014 08:13:12 +0000 Subject: [PATCH] If map was deprecated, abort compilation and allow re-compilation. Also print a message if either map became unstable or map was deprecated, if --trace-opt is enabled. R=hpayer@chromium.org Review URL: https://codereview.chromium.org/292323005 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21453 ce2b1a6d-e550-0410-aec6-3dcde31c8c00 --- src/compiler.cc | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/src/compiler.cc b/src/compiler.cc index 4e55d22..0349a35 100644 --- a/src/compiler.cc +++ b/src/compiler.cc @@ -456,7 +456,19 @@ OptimizedCompileJob::Status OptimizedCompileJob::GenerateCode() { if (optimized_code.is_null()) { if (info()->bailout_reason() == kNoReason) { info_->set_bailout_reason(kCodeGenerationFailed); + } else if (info()->bailout_reason() == kMapBecameDeprecated) { + if (FLAG_trace_opt) { + PrintF("[aborted optimizing "); + function->ShortPrint(); + PrintF(" because a map became deprecated]\n"); + } + return AbortOptimization(); } else if (info()->bailout_reason() == kMapBecameUnstable) { + if (FLAG_trace_opt) { + PrintF("[aborted optimizing "); + function->ShortPrint(); + PrintF(" because a map became unstable]\n"); + } return AbortOptimization(); } return AbortAndDisableOptimization(); -- 2.7.4