Author: ankit
Date: 2006-11-09 04:38:03 -0500 (Thu, 09 Nov 2006)
New Revision: 67583
Modified:
trunk/mono/mono/dis/ChangeLog
trunk/mono/mono/dis/dump.c
trunk/mono/mono/dis/main.c
trunk/mono/mono/metadata/ChangeLog
trunk/mono/mono/metadata/tabledefs.h
Log:
Add support for Retargetable assembly flag.
In mono/metadata:
* tabledefs.h (ASSEMBLYREF_RETARGETABLE_FLAG):
(ASSEMBLYREF_ENABLEJITCOMPILE_TRACKING_FLAG):
(ASSEMBLYREF_DISABLEJITCOMPILE_OPTIMIZER_FLAG): Add AssemblyRef flags.
In mono/dis:
* dump.c (dump_table_assemblyref): Dump Flags also.
* main.c (assembly_ref_flags): New. Stringify AssemblyRef flags.
(dis_directive_assemblyref): Emit flags also.
(dis_directive_assembly): Likewise.
Modified: trunk/mono/mono/dis/ChangeLog
===================================================================
--- trunk/mono/mono/dis/ChangeLog 2006-11-09 09:29:17 UTC (rev 67582)
+++ trunk/mono/mono/dis/ChangeLog 2006-11-09 09:38:03 UTC (rev 67583)
@@ -1,3 +1,10 @@
+2006-11-09 Ankit Jain <[EMAIL PROTECTED]>
+
+ * dump.c (dump_table_assemblyref): Dump Flags also.
+ * main.c (assembly_ref_flags): New. Stringify AssemblyRef flags.
+ (dis_directive_assemblyref): Emit flags also.
+ (dis_directive_assembly): Likewise.
+
2006-10-06 Miguel de Icaza <[EMAIL PROTECTED]>
* main.c (dis_directive_assembly): Fix the rendering of .locale to
Modified: trunk/mono/mono/dis/dump.c
===================================================================
--- trunk/mono/mono/dis/dump.c 2006-11-09 09:29:17 UTC (rev 67582)
+++ trunk/mono/mono/dis/dump.c 2006-11-09 09:38:03 UTC (rev 67583)
@@ -142,6 +142,7 @@
cols [MONO_ASSEMBLYREF_BUILD_NUMBER],
cols [MONO_ASSEMBLYREF_REV_NUMBER],
mono_metadata_string_heap (m, cols
[MONO_ASSEMBLYREF_NAME]));
+ fprintf (output, "\tFlags=0x%08x\n", cols
[MONO_ASSEMBLYREF_FLAGS]);
ptr = mono_metadata_blob_heap (m, cols
[MONO_ASSEMBLYREF_PUBLIC_KEY]);
len = mono_metadata_decode_value (ptr, &ptr);
if (len > 0){
Modified: trunk/mono/mono/dis/main.c
===================================================================
--- trunk/mono/mono/dis/main.c 2006-11-09 09:29:17 UTC (rev 67582)
+++ trunk/mono/mono/dis/main.c 2006-11-09 09:38:03 UTC (rev 67583)
@@ -162,19 +162,29 @@
}
}
+static char *
+assembly_flags (guint32 f)
+{
+ if (f & ASSEMBLYREF_RETARGETABLE_FLAG)
+ return g_strdup ("retargetable ");
+ return g_strdup ("");
+}
+
static void
dis_directive_assembly (MonoImage *m)
{
MonoTableInfo *t = &m->tables [MONO_TABLE_ASSEMBLY];
guint32 cols [MONO_ASSEMBLY_SIZE];
+ char *flags;
if (t->base == NULL)
return;
mono_metadata_decode_row (t, 0, cols, MONO_ASSEMBLY_SIZE);
+ flags = assembly_flags (cols [MONO_ASSEMBLY_FLAGS]);
- fprintf (output, ".assembly '%s'\n{\n",
- mono_metadata_string_heap (m, cols [MONO_ASSEMBLY_NAME]));
+ fprintf (output, ".assembly %s'%s'\n{\n",
+ flags, mono_metadata_string_heap (m, cols
[MONO_ASSEMBLY_NAME]));
dump_cattrs (m, MONO_TOKEN_ASSEMBLY | 1, " ");
dump_declarative_security (m, OBJECT_TYPE_ASSEMBLYDEF, 1, " ");
fprintf (output,
@@ -200,6 +210,8 @@
g_free (dump);
}
fprintf (output, "}\n");
+
+ g_free (flags);
}
static void
@@ -213,16 +225,18 @@
return;
for (i = 0; i < t->rows; i++){
- char *esc;
+ char *esc, *flags;
mono_metadata_decode_row (t, i, cols, MONO_ASSEMBLYREF_SIZE);
esc = get_escaped_name (mono_metadata_string_heap (m, cols
[MONO_ASSEMBLYREF_NAME]));
+ flags = assembly_flags (cols [MONO_ASSEMBLYREF_FLAGS]);
fprintf (output,
- ".assembly extern %s\n"
+ ".assembly extern %s%s\n"
"{\n"
" .ver %d:%d:%d:%d\n",
+ flags,
esc,
cols [MONO_ASSEMBLYREF_MAJOR_VERSION], cols
[MONO_ASSEMBLYREF_MINOR_VERSION],
cols [MONO_ASSEMBLYREF_BUILD_NUMBER], cols
[MONO_ASSEMBLYREF_REV_NUMBER]
@@ -239,6 +253,7 @@
g_free (dump);
}
fprintf (output, "}\n");
+ g_free (flags);
g_free (esc);
}
}
Modified: trunk/mono/mono/metadata/ChangeLog
===================================================================
--- trunk/mono/mono/metadata/ChangeLog 2006-11-09 09:29:17 UTC (rev 67582)
+++ trunk/mono/mono/metadata/ChangeLog 2006-11-09 09:38:03 UTC (rev 67583)
@@ -1,3 +1,9 @@
+2006-11-09 Ankit Jain <[EMAIL PROTECTED]>
+
+ * tabledefs.h (ASSEMBLYREF_RETARGETABLE_FLAG):
+ (ASSEMBLYREF_ENABLEJITCOMPILE_TRACKING_FLAG):
+ (ASSEMBLYREF_DISABLEJITCOMPILE_OPTIMIZER_FLAG): Add AssemblyRef flags.
+
2006-11-07 Dick Porter <[EMAIL PROTECTED]>
* socket-io.c (ves_icall_System_Net_Dns_GetHostByAddr_internal):
Modified: trunk/mono/mono/metadata/tabledefs.h
===================================================================
--- trunk/mono/mono/metadata/tabledefs.h 2006-11-09 09:29:17 UTC (rev
67582)
+++ trunk/mono/mono/metadata/tabledefs.h 2006-11-09 09:38:03 UTC (rev
67583)
@@ -254,4 +254,7 @@
* 21.5 AssemblyRefs
*/
#define ASSEMBLYREF_FULL_PUBLIC_KEY_FLAG 0x00000001
+#define ASSEMBLYREF_RETARGETABLE_FLAG 0x00000100
+#define ASSEMBLYREF_ENABLEJITCOMPILE_TRACKING_FLAG 0x00008000
+#define ASSEMBLYREF_DISABLEJITCOMPILE_OPTIMIZER_FLAG 0x00004000
#endif
_______________________________________________
Mono-patches maillist - [email protected]
http://lists.ximian.com/mailman/listinfo/mono-patches