Reviewers: ulan,

Description:
Merged r13237 into 3.15 branch.

Fixed resizing of deopt table

BUG=chrome:166554
[email protected]


Please review this at https://codereview.chromium.org/11864005/

SVN Base: https://v8.googlecode.com/svn/branches/3.15

Affected files:
  M src/deoptimizer.cc
  M src/version.cc


Index: src/deoptimizer.cc
diff --git a/src/deoptimizer.cc b/src/deoptimizer.cc
index 8f1711144e65c9a121a233b08a44d507ea893332..48b1d3f59415a19bd09acc05e020b69ffe4c8b18 100644
--- a/src/deoptimizer.cc
+++ b/src/deoptimizer.cc
@@ -1411,8 +1411,9 @@ void Deoptimizer::EnsureCodeForDeoptimizationEntry(BailoutType type,
       ? data->eager_deoptimization_entry_code_entries_
       : data->lazy_deoptimization_entry_code_entries_;
   if (max_entry_id < entry_count) return;
-  entry_count = Min(Max(entry_count * 2, Deoptimizer::kMinNumberOfEntries),
-                    Deoptimizer::kMaxNumberOfEntries);
+  entry_count = Max(entry_count, Deoptimizer::kMinNumberOfEntries);
+  while (max_entry_id >= entry_count) entry_count *= 2;
+  ASSERT(entry_count <= Deoptimizer::kMaxNumberOfEntries);

   MacroAssembler masm(Isolate::Current(), NULL, 16 * KB);
   masm.set_emit_debug_code(false);
Index: src/version.cc
diff --git a/src/version.cc b/src/version.cc
index 3901d34c0195555382a7adddb6d827ef493fb748..34ba3fe63a7f149116dc4c09cb7aea1c8fb91634 100644
--- a/src/version.cc
+++ b/src/version.cc
@@ -35,7 +35,7 @@
 #define MAJOR_VERSION     3
 #define MINOR_VERSION     15
 #define BUILD_NUMBER      11
-#define PATCH_LEVEL       6
+#define PATCH_LEVEL       7
 // Use 1 for candidates and 0 otherwise.
 // (Boolean macro values are not supported by all preprocessors.)
 #define IS_CANDIDATE_VERSION 0


--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev

Reply via email to