All pastes #1314846 Raw Edit

Anonymous

public diff v1 · immutable
#1314846 ·published 2009-01-21 16:45 UTC
rendered paste body
Index: mini/mini.c===================================================================--- mini/mini.c	(revision 123898)+++ mini/mini.c	(working copy)@@ -3123,6 +3123,10 @@ 		/* The debugger needs all locals to be on the stack or in a global register */ 		cfg->disable_vreg_to_lvreg = TRUE; +		/* Don't remove unused variables when running inside the debugger since the user+		 * may still want to view them. */+		cfg->disable_deadce_vars = TRUE;+ 		// cfg->opt |= MONO_OPT_SHARED; 		cfg->opt &= ~MONO_OPT_DEADCE; 		cfg->opt &= ~MONO_OPT_INLINE;Index: mini/mini.h===================================================================--- mini/mini.h	(revision 123898)+++ mini/mini.h	(working copy)@@ -854,6 +854,7 @@ 	guint            disable_initlocals_opt : 1; 	guint            disable_omit_fp : 1; 	guint            disable_vreg_to_lvreg : 1;+	guint            disable_deadce_vars : 1; 	guint            has_got_slots : 1; 	guint            uses_rgctx_reg : 1; 	guint            uses_vtable_reg : 1;Index: mini/ChangeLog===================================================================--- mini/ChangeLog	(revision 123898)+++ mini/ChangeLog	(working copy)@@ -1,3 +1,16 @@+2009-01-21  Martin Baulig  <martin@ximian.com>++	* mini.h+	(MonoCompile): Added `disable_deadce_vars' to disable removing+	unused variables.++	* mini.c+	(mini_method_compile): Set `cfg->disable_deadce_vars' when running+	inside the debugger.++	* liveness.c (mono_analyze_liveness): Don't remove any unused+	variables if `cfg->disable_deadce_vars' is set.+ 2009-01-20  Rodrigo Kumpera  <rkumpera@novell.com>  	* mini-exceptions.c (mono_print_thread_dump): Add informationIndex: mini/liveness.c===================================================================--- mini/liveness.c	(revision 123898)+++ mini/liveness.c	(working copy)@@ -466,7 +466,7 @@ 				 * VOLATILE, since that would prevent it from being allocated to 				 * registers. 				 */-				 if (!(cfg->generic_sharing_context && mono_method_signature (cfg->method)->hasthis && cfg->varinfo [vi->idx] == cfg->args [0]))+				 if (!cfg->disable_deadce_vars && !(cfg->generic_sharing_context && mono_method_signature (cfg->method)->hasthis && cfg->varinfo [vi->idx] == cfg->args [0])) 					 cfg->varinfo [vi->idx]->flags |= MONO_INST_IS_DEAD; 			} 			vi->range.first_use.abs_pos = 0;