Reviewers: Michael Starzinger,

Description:
Fix compilation when disabling debugger support.

Based on a patch by <[email protected]>:
http://codereview.chromium.org/10702093/

[email protected]
BUG=
TEST=build with debuggersupport=off


Please review this at https://chromiumcodereview.appspot.com/10697085/

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

Affected files:
  M include/v8.h
  M samples/lineprocessor.cc
  M src/heap.h
  M src/liveedit.cc
  M src/runtime.cc
  M test/cctest/test-heap-profiler.cc


Index: include/v8.h
diff --git a/include/v8.h b/include/v8.h
index f8883fc1de96e9839d3ed353597e417a2b69d6c3..18c5ba6807b5d2d7ec9676206a5b6285ea321c7b 100644
--- a/include/v8.h
+++ b/include/v8.h
@@ -3934,7 +3934,7 @@ class Internals {
   static const int kNullValueRootIndex = 7;
   static const int kTrueValueRootIndex = 8;
   static const int kFalseValueRootIndex = 9;
-  static const int kEmptySymbolRootIndex = 128;
+  static const int kEmptySymbolRootIndex = 112;

   static const int kJSObjectType = 0xaa;
   static const int kFirstNonstringType = 0x80;
Index: samples/lineprocessor.cc
diff --git a/samples/lineprocessor.cc b/samples/lineprocessor.cc
index 23e02142691dd1541b04c34d8fc2fb20717e069e..26e787f2b7d0d3ce2c886b96dea5aac8d5068719 100644
--- a/samples/lineprocessor.cc
+++ b/samples/lineprocessor.cc
@@ -25,19 +25,11 @@
 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

-
-// This controls whether this sample is compiled with debugger support.
-// You may trace its usages in source text to see what parts of program
-// are responsible for debugging support.
-// Note that V8 itself should be compiled with enabled debugger support
-// to have it all working.
-#define SUPPORT_DEBUGGING
-
 #include <v8.h>

-#ifdef SUPPORT_DEBUGGING
+#ifdef ENABLE_DEBUGGER_SUPPORT
 #include <v8-debug.h>
-#endif
+#endif  // ENABLE_DEBUGGER_SUPPORT

 #include <fcntl.h>
 #include <string.h>
@@ -116,7 +108,7 @@ bool RunCppCycle(v8::Handle<v8::Script> script, v8::Local<v8::Context> context,
                  bool report_exceptions);


-#ifdef SUPPORT_DEBUGGING
+#ifdef ENABLE_DEBUGGER_SUPPORT
 v8::Persistent<v8::Context> debug_message_context;

 void DispatchDebugMessages() {
@@ -135,7 +127,7 @@ void DispatchDebugMessages() {

   v8::Debug::ProcessDebugMessages();
 }
-#endif
+#endif  // ENABLE_DEBUGGER_SUPPORT


 int RunMain(int argc, char* argv[]) {
@@ -146,11 +138,11 @@ int RunMain(int argc, char* argv[]) {
   v8::Handle<v8::Value> script_name(NULL);
   int script_param_counter = 0;

-#ifdef SUPPORT_DEBUGGING
+#ifdef ENABLE_DEBUGGER_SUPPORT
   int port_number = -1;
   bool wait_for_connection = false;
   bool support_callback = false;
-#endif
+#endif  // ENABLE_DEBUGGER_SUPPORT

   MainCycleType cycle_type = CycleInCpp;

@@ -164,7 +156,7 @@ int RunMain(int argc, char* argv[]) {
       cycle_type = CycleInCpp;
     } else if (strcmp(str, "--main-cycle-in-js") == 0) {
       cycle_type = CycleInJs;
-#ifdef SUPPORT_DEBUGGING
+#ifdef ENABLE_DEBUGGER_SUPPORT
     } else if (strcmp(str, "--callback") == 0) {
       support_callback = true;
     } else if (strcmp(str, "--wait-for-connection") == 0) {
@@ -172,7 +164,7 @@ int RunMain(int argc, char* argv[]) {
     } else if (strcmp(str, "-p") == 0 && i + 1 < argc) {
       port_number = atoi(argv[i + 1]);  // NOLINT
       i++;
-#endif
+#endif  // ENABLE_DEBUGGER_SUPPORT
     } else if (strncmp(str, "--", 2) == 0) {
       printf("Warning: unknown flag %s.\nTry --help for options\n", str);
     } else if (strcmp(str, "-e") == 0 && i + 1 < argc) {
@@ -219,7 +211,7 @@ int RunMain(int argc, char* argv[]) {
   // Enter the newly created execution environment.
   v8::Context::Scope context_scope(context);

-#ifdef SUPPORT_DEBUGGING
+#ifdef ENABLE_DEBUGGER_SUPPORT
   debug_message_context = v8::Persistent<v8::Context>::New(context);

   v8::Locker locker;
@@ -231,7 +223,7 @@ int RunMain(int argc, char* argv[]) {
   if (port_number != -1) {
v8::Debug::EnableAgent("lineprocessor", port_number, wait_for_connection);
   }
-#endif
+#endif  // ENABLE_DEBUGGER_SUPPORT

   bool report_exceptions = true;

@@ -272,9 +264,9 @@ int RunMain(int argc, char* argv[]) {

bool RunCppCycle(v8::Handle<v8::Script> script, v8::Local<v8::Context> context,
                  bool report_exceptions) {
-#ifdef SUPPORT_DEBUGGING
+#ifdef ENABLE_DEBUGGER_SUPPORT
   v8::Locker lock;
-#endif
+#endif  // ENABLE_DEBUGGER_SUPPORT

   v8::Handle<v8::String> fun_name = v8::String::New("ProcessLine");
   v8::Handle<v8::Value> process_val =
@@ -427,9 +419,9 @@ v8::Handle<v8::String> ReadLine() {

   char* res;
   {
-#ifdef SUPPORT_DEBUGGING
+#ifdef ENABLE_DEBUGGER_SUPPORT
     v8::Unlocker unlocker;
-#endif
+#endif  // ENABLE_DEBUGGER_SUPPORT
     res = fgets(buffer, kBufferSize, stdin);
   }
   if (res == NULL) {
Index: src/heap.h
diff --git a/src/heap.h b/src/heap.h
index dd1f710b25224a9521636d12cb221871a39e4f59..e9925c209f46f8a1e057155405328d0ec141487d 100644
--- a/src/heap.h
+++ b/src/heap.h
@@ -1392,15 +1392,15 @@ class Heap {
     STRONG_ROOT_LIST(ROOT_INDEX_DECLARATION)
 #undef ROOT_INDEX_DECLARATION

-// Utility type maps
-#define DECLARE_STRUCT_MAP(NAME, Name, name) k##Name##MapRootIndex,
-  STRUCT_LIST(DECLARE_STRUCT_MAP)
-#undef DECLARE_STRUCT_MAP
-
 #define SYMBOL_INDEX_DECLARATION(name, str) k##name##RootIndex,
     SYMBOL_LIST(SYMBOL_INDEX_DECLARATION)
 #undef SYMBOL_DECLARATION

+    // Utility type maps
+#define DECLARE_STRUCT_MAP(NAME, Name, name) k##Name##MapRootIndex,
+    STRUCT_LIST(DECLARE_STRUCT_MAP)
+#undef DECLARE_STRUCT_MAP
+
     kSymbolTableRootIndex,
     kStrongRootListLength = kSymbolTableRootIndex,
     kRootListLength
Index: src/liveedit.cc
diff --git a/src/liveedit.cc b/src/liveedit.cc
index 0b8654b468302816a64bf38afbb3c0b036c8930c..d86314c507024101f6fc1d0e5715f86b3253a39f 100644
--- a/src/liveedit.cc
+++ b/src/liveedit.cc
@@ -1878,7 +1878,8 @@ LiveEditFunctionTracker::~LiveEditFunctionTracker() {


 void LiveEditFunctionTracker::RecordFunctionInfo(
-    Handle<SharedFunctionInfo> info, FunctionLiteral* lit) {
+    Handle<SharedFunctionInfo> info, FunctionLiteral* lit,
+    Zone* zone) {
 }


Index: src/runtime.cc
diff --git a/src/runtime.cc b/src/runtime.cc
index 74f3e43ada4e995fd26ba6c038a1ac008598db16..978dff91083151192c17a2a105e6d37faa8e4aae 100644
--- a/src/runtime.cc
+++ b/src/runtime.cc
@@ -4892,6 +4892,7 @@ RUNTIME_FUNCTION(MaybeObject*, Runtime_StoreArrayLiteralElement) { // Check whether debugger and is about to step into the callback that is passed
 // to a built-in function such as Array.forEach.
 RUNTIME_FUNCTION(MaybeObject*, Runtime_DebugCallbackSupportsStepping) {
+#ifdef ENABLE_DEBUGGER_SUPPORT
   if (!isolate->IsDebuggerActive()) return isolate->heap()->false_value();
   CONVERT_ARG_CHECKED(Object, callback, 0);
// We do not step into the callback if it's a builtin or not even a function. @@ -4899,12 +4900,16 @@ RUNTIME_FUNCTION(MaybeObject*, Runtime_DebugCallbackSupportsStepping) {
     return isolate->heap()->false_value();
   }
   return isolate->heap()->true_value();
+#else
+  return isolate->heap()->false_value();
+#endif  // ENABLE_DEBUGGER_SUPPORT
 }


 // Set one shot breakpoints for the callback function that is passed to a
// built-in function such as Array.forEach to enable stepping into the callback.
 RUNTIME_FUNCTION(MaybeObject*, Runtime_DebugPrepareStepInIfStepping) {
+#ifdef ENABLE_DEBUGGER_SUPPORT
   Debug* debug = isolate->debug();
   if (!debug->IsStepping()) return NULL;
   CONVERT_ARG_HANDLE_CHECKED(JSFunction, callback, 0);
@@ -4914,7 +4919,8 @@ RUNTIME_FUNCTION(MaybeObject*, Runtime_DebugPrepareStepInIfStepping) {
   // again, we need to clear the step out at this point.
   debug->ClearStepOut();
   debug->FloodWithOneShot(callback);
-  return NULL;
+#endif  // ENABLE_DEBUGGER_SUPPORT
+  return isolate->heap()->undefined_value();
 }


Index: test/cctest/test-heap-profiler.cc
diff --git a/test/cctest/test-heap-profiler.cc b/test/cctest/test-heap-profiler.cc index 59113e064919f199c2f4783c21ff4fad768476ce..759585c1c85045f58353349b9618afe03e82a900 100644
--- a/test/cctest/test-heap-profiler.cc
+++ b/test/cctest/test-heap-profiler.cc
@@ -1559,6 +1559,7 @@ TEST(SfiAndJsFunctionWeakRefs) {
 }


+#ifdef ENABLE_DEBUGGER_SUPPORT
 TEST(NoDebugObjectInSnapshot) {
   v8::HandleScope scope;
   LocalContext env;
@@ -1581,6 +1582,7 @@ TEST(NoDebugObjectInSnapshot) {
   }
   CHECK_EQ(1, globals_count);
 }
+#endif  // ENABLE_DEBUGGER_SUPPORT


 TEST(PersistentHandleCount) {


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

Reply via email to