Hi Sebastien,<br><br>I have some comments on parts of your mono changes:<br><br><br>@@ -16,6 +16,7 @@<br> #include &quot;security-core-clr.h&quot;<br> <br> gboolean mono_security_core_clr_test = FALSE;<br>+char* mono_security_core_clr_prefix = NULL;<i><br>
</i><br>Why this field is not static?<br>Why do we even need it? mono_security_enable_core_clr stores on it and nobody reads from.<br><br>+<br>+static char* platform_code_assemblies [] = {<br>+    &quot;mscorlib&quot;,<br>
<br>This should be const.<br><br><br>+/*<br>+ * mono_security_core_clr_determine_platform_image:<br>+ *<br>+ *   Check if this image represent platform code<br>+ */<br>+gboolean<br>+mono_security_core_clr_determine_platform_image (MonoImage *image)<br>
+{<br>+    /* FIXME: existing code not safe enough wrt XAP XXX we need to better define *platform* code (e.g. location)<br><br>This part of the patch comments out a chunk of code that just doesn&#39;t fit moon, right?<br>
Then either remove the dead code or use explicit lines to add comment start/end, otherwise it gets pretty tricky to figure it out.<br><br>@@ -203,7 +203,7 @@<br> mono_get_exception_class    (void);<br> <br> void<br>-mono_security_enable_core_clr (void);<br>
+mono_security_enable_core_clr (const char *prefix);<br><br>This breaks our ABI, we can&#39;t change that function this way.<br>I know it&#39;s a silly requirement for a function that hardly anyone could be using, but <br>
breaking our ABI should not be taken lightly.<br>Create a new function and leave a comment stating that mono_security_enable_core_clr is deprecated<br>and will be eventually removed. This is bound to happen once we do a release with sgen-gc enabled.<br>
<br>@@ -4481,28 +4507,60 @@<br>     mono_emit_method_call (cfg, thrower, NULL, NULL);<br> }<br> <br>+static MonoMethod*<br>+unwrap (MonoMethod *method)<br>+{<br><br><br>Please use a more meaningful name for this function.<br>
<br> static gboolean<br> method_is_safe (MonoMethod *method)<br> {<br>-    /*<br>+    /* FIXME: looks somewhat incomplete<br><br>I think this is just dead code used during the initial development of core-clr security. <br>
<br><br><br><div class="gmail_quote">2009/3/13 Sebastien Pouliot <span dir="ltr">&lt;<a href="mailto:sebastien.pouliot@gmail.com">sebastien.pouliot@gmail.com</a>&gt;</span><br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
Hello,<br>
<br>
With the set of attached patches all existing moon-unit tests pass. It<br>
also pass the SecurityCriticalTest[1] - which calls from application<br>
code (i.e. transparent) every visible SL2 API decorated as Critical.<br>
<br>
The runtime patch mainly avoid unneeded, repetitive calls so it should<br>
help performance - however I made those changes so it was easier to set<br>
breakpoints using gdb/xdb, real optimizations are for another day ;-)<br>
<br>
Next steps are to fix CoreCLR-related ReflectionTest[1] and<br>
ReflectionEmitTest[1] unit tests and, of course, more tests/testing.<br>
<br>
Thanks<br>
Sebastien<br>
<br>
[1] in SVN but ignored at the moment<br>
<br>
<br>_______________________________________________<br>
Mono-devel-list mailing list<br>
<a href="mailto:Mono-devel-list@lists.ximian.com">Mono-devel-list@lists.ximian.com</a><br>
<a href="http://lists.ximian.com/mailman/listinfo/mono-devel-list" target="_blank">http://lists.ximian.com/mailman/listinfo/mono-devel-list</a><br>
<br></blockquote></div><br>