From 6f83ad58cc120a8f5c70025b0215f2110de710bc Mon Sep 17 00:00:00 2001 From: "sgjesse@chromium.org" Date: Tue, 29 Sep 2009 09:21:19 +0000 Subject: [PATCH] Compile without debugger support in debug mode This makes it possible to build V8 without JavaScript debugging support in debug mode. BUG=http://code.google.com/p/v8/issues/detail?id=454 Review URL: http://codereview.chromium.org/242048 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2983 ce2b1a6d-e550-0410-aec6-3dcde31c8c00 --- src/ia32/codegen-ia32.cc | 2 ++ src/objects.h | 17 ++++++++++++++--- 2 files changed, 16 insertions(+), 3 deletions(-) diff --git a/src/ia32/codegen-ia32.cc b/src/ia32/codegen-ia32.cc index 66c801c..ed7541f 100644 --- a/src/ia32/codegen-ia32.cc +++ b/src/ia32/codegen-ia32.cc @@ -2543,10 +2543,12 @@ void CodeGenerator::GenerateReturnSequence(Result* return_value) { masm_->ret((scope_->num_parameters() + 1) * kPointerSize); DeleteFrame(); +#ifdef ENABLE_DEBUGGER_SUPPORT // Check that the size of the code used for returning matches what is // expected by the debugger. ASSERT_EQ(Debug::kIa32JSReturnSequenceLength, masm_->SizeOfCodeGeneratedSince(&check_exit_codesize)); +#endif } diff --git a/src/objects.h b/src/objects.h index 71740f9..5be4929 100644 --- a/src/objects.h +++ b/src/objects.h @@ -211,7 +211,7 @@ enum PropertyNormalizationMode { // NOTE: Everything following JS_VALUE_TYPE is considered a // JSObject for GC purposes. The first four entries here have typeof // 'object', whereas JS_FUNCTION_TYPE has typeof 'function'. -#define INSTANCE_TYPE_LIST(V) \ +#define INSTANCE_TYPE_LIST_ALL(V) \ V(SHORT_SYMBOL_TYPE) \ V(MEDIUM_SYMBOL_TYPE) \ V(LONG_SYMBOL_TYPE) \ @@ -282,8 +282,6 @@ enum PropertyNormalizationMode { V(OBJECT_TEMPLATE_INFO_TYPE) \ V(SIGNATURE_INFO_TYPE) \ V(TYPE_SWITCH_INFO_TYPE) \ - V(DEBUG_INFO_TYPE) \ - V(BREAK_POINT_INFO_TYPE) \ V(SCRIPT_TYPE) \ \ V(JS_VALUE_TYPE) \ @@ -297,6 +295,17 @@ enum PropertyNormalizationMode { \ V(JS_FUNCTION_TYPE) \ +#ifdef ENABLE_DEBUGGER_SUPPORT +#define INSTANCE_TYPE_LIST_DEBUGGER(V) \ + V(DEBUG_INFO_TYPE) \ + V(BREAK_POINT_INFO_TYPE) +#else +#define INSTANCE_TYPE_LIST_DEBUGGER(V) +#endif + +#define INSTANCE_TYPE_LIST(V) \ + INSTANCE_TYPE_LIST_ALL(V) \ + INSTANCE_TYPE_LIST_DEBUGGER(V) // Since string types are not consecutive, this macro is used to @@ -673,8 +682,10 @@ enum InstanceType { OBJECT_TEMPLATE_INFO_TYPE, SIGNATURE_INFO_TYPE, TYPE_SWITCH_INFO_TYPE, +#ifdef ENABLE_DEBUGGER_SUPPORT DEBUG_INFO_TYPE, BREAK_POINT_INFO_TYPE, +#endif SCRIPT_TYPE, JS_VALUE_TYPE, -- 2.7.4