[Mono-dev] CoreCLR patches

Rodrigo Kumpera kumpera at gmail.com
Fri Mar 13 10:48:47 EDT 2009

Hi Sebastien,

I have some comments on parts of your mono changes:

@@ -16,6 +16,7 @@
 #include "security-core-clr.h"

 gboolean mono_security_core_clr_test = FALSE;
+char* mono_security_core_clr_prefix = NULL;*
Why this field is not static?
Why do we even need it? mono_security_enable_core_clr stores on it and
nobody reads from.

+static char* platform_code_assemblies [] = {
+    "mscorlib",

This should be const.

+ * mono_security_core_clr_determine_platform_image:
+ *
+ *   Check if this image represent platform code
+ */
+mono_security_core_clr_determine_platform_image (MonoImage *image)
+    /* FIXME: existing code not safe enough wrt XAP XXX we need to better
define *platform* code (e.g. location)

This part of the patch comments out a chunk of code that just doesn't fit
moon, right?
Then either remove the dead code or use explicit lines to add comment
start/end, otherwise it gets pretty tricky to figure it out.

@@ -203,7 +203,7 @@
 mono_get_exception_class    (void);

-mono_security_enable_core_clr (void);
+mono_security_enable_core_clr (const char *prefix);

This breaks our ABI, we can't change that function this way.
I know it's a silly requirement for a function that hardly anyone could be
using, but
breaking our ABI should not be taken lightly.
Create a new function and leave a comment stating that
mono_security_enable_core_clr is deprecated
and will be eventually removed. This is bound to happen once we do a release
with sgen-gc enabled.

@@ -4481,28 +4507,60 @@
     mono_emit_method_call (cfg, thrower, NULL, NULL);

+static MonoMethod*
+unwrap (MonoMethod *method)

Please use a more meaningful name for this function.

 static gboolean
 method_is_safe (MonoMethod *method)
-    /*
+    /* FIXME: looks somewhat incomplete

I think this is just dead code used during the initial development of
core-clr security.

2009/3/13 Sebastien Pouliot <sebastien.pouliot at gmail.com>

> Hello,
> With the set of attached patches all existing moon-unit tests pass. It
> also pass the SecurityCriticalTest[1] - which calls from application
> code (i.e. transparent) every visible SL2 API decorated as Critical.
> The runtime patch mainly avoid unneeded, repetitive calls so it should
> help performance - however I made those changes so it was easier to set
> breakpoints using gdb/xdb, real optimizations are for another day ;-)
> Next steps are to fix CoreCLR-related ReflectionTest[1] and
> ReflectionEmitTest[1] unit tests and, of course, more tests/testing.
> Thanks
> Sebastien
> [1] in SVN but ignored at the moment
> _______________________________________________
> Mono-devel-list mailing list
> Mono-devel-list at lists.ximian.com
> http://lists.ximian.com/mailman/listinfo/mono-devel-list
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.ximian.com/pipermail/mono-devel-list/attachments/20090313/89a2ed88/attachment.html 

More information about the Mono-devel-list mailing list