2008-01-06 Zoltan Varga <vargaz@gmail.com>
authorZoltan Varga <vargaz@gmail.com>
Sun, 6 Jan 2008 21:42:00 +0000 (21:42 -0000)
committerZoltan Varga <vargaz@gmail.com>
Sun, 6 Jan 2008 21:42:00 +0000 (21:42 -0000)
* appdomain.c (ves_icall_System_AppDomain_ExecuteAssembly): Change signature to
match managed version.

* appdomain.c: Bump corlib version.

svn path=/trunk/mono/; revision=92367

mono/metadata/ChangeLog
mono/metadata/appdomain.c
mono/metadata/domain-internals.h

index 7180194ab011091a7922fe45fb1ec3875d752f84..b24d1638f6e2f74f25e619bf3b8ae2a20f17b592 100644 (file)
@@ -1,5 +1,10 @@
 2008-01-06  Zoltan Varga  <vargaz@gmail.com>
 
+       * appdomain.c (ves_icall_System_AppDomain_ExecuteAssembly): Change signature to
+       match managed version.
+
+       * appdomain.c: Bump corlib version.
+       
        * appdomain.c (ves_icall_System_AppDomain_ExecuteAssembly): Check for a null
        argument.
 
index 81953b70f0aa3875e8e38ceec89df6dc25b401a3..0801eb6f3c4dce3331e0c516e4a0bfe9b211903d 100644 (file)
@@ -54,7 +54,7 @@
  * Changes which are already detected at runtime, like the addition
  * of icalls, do not require an increment.
  */
-#define MONO_CORLIB_VERSION 64
+#define MONO_CORLIB_VERSION 65
 
 typedef struct
 {
@@ -1455,29 +1455,17 @@ ves_icall_System_AppDomain_InternalIsFinalizingForUnload (gint32 domain_id)
 }
 
 gint32
-ves_icall_System_AppDomain_ExecuteAssembly (MonoAppDomain *ad, MonoString *file, 
-                                           MonoObject *evidence, MonoArray *args)
+ves_icall_System_AppDomain_ExecuteAssembly (MonoAppDomain *ad, 
+                                                                                       MonoReflectionAssembly *refass, MonoArray *args)
 {
-       MonoAssembly *assembly;
        MonoImage *image;
        MonoMethod *method;
-       char *filename;
-       gint32 res;
-       MonoReflectionAssembly *refass;
 
        MONO_ARCH_SAVE_REGS;
 
-       if (!file)
-               mono_raise_exception (mono_get_exception_argument_null ("assemblyFile"));
-
-       filename = mono_string_to_utf8 (file);
-       assembly = mono_assembly_open (filename, NULL);
-       g_free (filename);
-
-       if (!assembly)
-               mono_raise_exception (mono_get_exception_file_not_found2 (NULL, file));
-
-       image = assembly->image;
+       g_assert (refass);
+       image = refass->assembly->image;
+       g_assert (image);
 
        method = mono_get_method (image, mono_image_get_entry_point (image), NULL);
 
@@ -1487,12 +1475,7 @@ ves_icall_System_AppDomain_ExecuteAssembly (MonoAppDomain *ad, MonoString *file,
        if (!args)
                args = (MonoArray *) mono_array_new (ad->data, mono_defaults.string_class, 0);
 
-       refass = mono_assembly_get_object (ad->data, assembly);
-       MONO_OBJECT_SETREF (refass, evidence, evidence);
-
-       res = mono_runtime_exec_main (method, (MonoArray *)args, NULL);
-
-       return res;
+       return mono_runtime_exec_main (method, (MonoArray *)args, NULL);
 }
 
 gint32 
index 51d1e4666e46a8edea2f9f63a9faccdfc850a334..7497956229bda85d288fd49267f62e37891baf1e 100644 (file)
@@ -301,9 +301,8 @@ ves_icall_System_AppDomain_InternalUnload          (gint32 domain_id) MONO_INTER
 
 gint32
 ves_icall_System_AppDomain_ExecuteAssembly         (MonoAppDomain *ad, 
-                                                   MonoString    *file, 
-                                                   MonoObject    *evidence,
-                                                   MonoArray     *args) MONO_INTERNAL;
+                                                                                                       MonoReflectionAssembly *refass,
+                                                                                                       MonoArray     *args) MONO_INTERNAL;
 
 MonoAppDomain * 
 ves_icall_System_AppDomain_InternalSetDomain      (MonoAppDomain *ad) MONO_INTERNAL;