Skip to content

Commit

Permalink
**** Backport of r130658 ****
Browse files Browse the repository at this point in the history
2009-03-31  Martin Baulig  <martin@ximian.com>

	* debug-debugger.c (debugger_remove_breakpoint): Call
	mono_debugger_remove_class_init_callback ().

2009-03-31  Martin Baulig  <martin@ximian.com>

	* mono-debug-debugger.c
	(mono_debugger_register_class_init_callback): Also register the
	class init callback if the class is already initialized to make
	things work with shadow copied assemblies.

svn path=/branches/mono-2-4/mono/; revision=132891
  • Loading branch information
Martin Baulig committed Apr 28, 2009
1 parent 70a3b23 commit 77754c9
Show file tree
Hide file tree
Showing 4 changed files with 19 additions and 6 deletions.
9 changes: 9 additions & 0 deletions mono/metadata/ChangeLog
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,15 @@
* cominterop.c (ves_icall_System_Runtime_InteropServices_Marshal_ReleaseComObjectInternal):
changed to match .Net behaviour of not aborting on additional calls to ReleaseComObject.

2009-03-31 Martin Baulig <martin@ximian.com>

Backport of r130658.

* mono-debug-debugger.c
(mono_debugger_register_class_init_callback): Also register the
class init callback if the class is already initialized to make
things work with shadow copied assemblies.

2009-04-27 Gonzalo Paniagua Javier <gonzalo@novell.com>

* assembly.c: assemblies in the GAC should never be shadow-copied.
Expand Down
6 changes: 1 addition & 5 deletions mono/metadata/mono-debug-debugger.c
Original file line number Diff line number Diff line change
Expand Up @@ -205,10 +205,6 @@ mono_debugger_register_class_init_callback (MonoImage *image, const gchar *full_
mono_loader_lock ();

klass = mono_class_from_name (image, name_space ? name_space : "", name);
if (klass && klass->inited && klass->methods) {
mono_loader_unlock ();
return klass;
}

info = g_new0 (ClassInitCallback, 1);
info->image = image;
Expand All @@ -222,7 +218,7 @@ mono_debugger_register_class_init_callback (MonoImage *image, const gchar *full_

g_ptr_array_add (class_init_callbacks, info);
mono_loader_unlock ();
return NULL;
return klass;
}

void
Expand Down
7 changes: 7 additions & 0 deletions mono/mini/ChangeLog
Original file line number Diff line number Diff line change
@@ -1,3 +1,10 @@
2009-03-31 Martin Baulig <martin@ximian.com>

Backport of r130658.

* debug-debugger.c (debugger_remove_breakpoint): Call
mono_debugger_remove_class_init_callback ().

2009-04-22 Zoltan Varga <vargaz@gmail.com>

* method-to-ir.c (mono_method_to_ir): Force init_locals to be TRUE
Expand Down
3 changes: 2 additions & 1 deletion mono/mini/debug-debugger.c
Original file line number Diff line number Diff line change
Expand Up @@ -308,7 +308,7 @@ debugger_insert_source_breakpoint (guint64 image_argument, guint64 token, guint6
mono_debugger_lock ();

klass = mono_debugger_register_class_init_callback (image, class_name, token, index);
if (!klass) {
if (!klass || !klass->inited || !klass->methods) {
mono_debugger_unlock ();
return 0;
}
Expand Down Expand Up @@ -354,6 +354,7 @@ debugger_remove_breakpoint (guint64 index, G_GNUC_UNUSED guint64 dummy)
{
mono_debugger_lock ();
mono_debugger_remove_method_breakpoint (index);
mono_debugger_remove_class_init_callback (index);
mono_debugger_unlock ();
}

Expand Down

0 comments on commit 77754c9

Please sign in to comment.