Reviewers: mvstanton,

Description:
Debugger: allow recompiling toplevel code for debugging.

[email protected]
BUG=v8:4132
LOG=N

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

Base URL: https://chromium.googlesource.com/v8/v8.git@master

Affected files (+4, -4 lines):
  M src/compiler.cc
  M src/debug.cc


Index: src/compiler.cc
diff --git a/src/compiler.cc b/src/compiler.cc
index 1013a8ae0620dfdd1230f3e446f16b658268892d..495ba4f6c4d0a6ba4af585182011a8aa642002e7 100644
--- a/src/compiler.cc
+++ b/src/compiler.cc
@@ -1455,14 +1455,14 @@ Handle<SharedFunctionInfo> Compiler::GetSharedFunctionInfo( literal->expected_property_count());
     live_edit_tracker.RecordFunctionInfo(result, literal, info.zone());
     return result;
-  } else {
-    // We may have additional data from compilation now.
+  } else if (!lazy) {
+    // We have additional data from compilation now.
     DCHECK(!existing->is_compiled());
     existing->ReplaceCode(*info.code());
     existing->set_scope_info(*scope_info);
     existing->set_feedback_vector(*info.feedback_vector());
-    return existing;
   }
+  return existing;
 }


Index: src/debug.cc
diff --git a/src/debug.cc b/src/debug.cc
index a689de08ae6c9e1dcc6f5d4a7076e7576414e87a..6ff18dac4f6cd14f081d762ad0e56b1df3182753 100644
--- a/src/debug.cc
+++ b/src/debug.cc
@@ -1967,7 +1967,7 @@ void Debug::PrepareForBreakPoints() {
       Handle<SharedFunctionInfo> shared(function->shared());

       // If recompilation is not possible just skip it.
-      if (shared->is_toplevel()) continue;
+      // if (shared->is_toplevel()) continue;
       if (!shared->allows_lazy_compilation()) continue;
       if (shared->code()->kind() == Code::BUILTIN) continue;



--
--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev
--- You received this message because you are subscribed to the Google Groups "v8-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to