[Mono-bugs] [Bug 74736][Nor] New - [PATCH] ilasm emits duplicate TypeSpec and MemberRefs

bugzilla-daemon@bugzilla.ximian.com bugzilla-daemon@bugzilla.ximian.com
Tue, 26 Apr 2005 12:19:37 -0400 (EDT)


Please do not reply to this email- if you want to comment on the bug, go to the
URL shown below and enter your comments there.

Changed by radical@gmail.com.

http://bugzilla.ximian.com/show_bug.cgi?id=74736

--- shadow/74736	2005-04-26 12:19:37.000000000 -0400
+++ shadow/74736.tmp.12041	2005-04-26 12:19:37.000000000 -0400
@@ -0,0 +1,88 @@
+Bug#: 74736
+Product: Mono: Compilers
+Version: unspecified
+OS: 
+OS Details: 
+Status: NEW   
+Resolution: 
+Severity: 
+Priority: Normal
+Component: IL assembler
+AssignedTo: jackson@ximian.com                            
+ReportedBy: radical@gmail.com               
+QAContact: mono-bugs@ximian.com
+TargetMilestone: ---
+URL: 
+Cc: 
+Summary: [PATCH] ilasm emits duplicate TypeSpec and MemberRefs
+
+compiling the attached test case with our ilasm and.. 
+
+ritvik@linux:~/ankit> monodis --typespec arr.exe 
+Typespec Table
+1: object
+2: int32[]
+3: int32
+4: int32 [, ]  #
+5: int32 [, ]  # 
+6: int32[]
+7: int32 [, ]  #
+
+And
+
+ritvik@linux:~/ankit> monodis --memberref arr.exe 
+MemberRef Table (1..6)
+1: TypeSpec[1] .ctor
+        Resolved: object..ctor
+        Signature: instance void()
+
+2: TypeSpec[4] .ctor
+        Resolved: int32 [, ]..ctor
+        Signature: instance void(int32, int32)
+
+3: TypeSpec[5] .ctor
+        Resolved: int32 [, ]..ctor
+        Signature: instance void(int32, int32)
+
+4: TypeRef[6] InitializeArray
+        Resolved:
+[mscorlib]System.Runtime.CompilerServices.RuntimeHelpers.InitializeArray
+        Signature: void(class [mscorlib]System.Array, valuetype
+[mscorlib]System.RuntimeFieldHandle)
+
+5: TypeSpec[1] .ctor
+        Resolved: object..ctor
+        Signature: instance void()
+
+6: TypeSpec[7] .ctor
+        Resolved: int32 [, ]..ctor
+        Signature: instance void(int32, int32)
+----------------------------------------------------------
+
+After the patch:
+
+$ monodis --typespec arr.exe 
+Typespec Table
+1: object
+2: int32[]
+3: int32
+4: int32 [, ]
+
+$ monodis --memberref arr.exe 
+
+MemberRef Table (1..3)
+1: TypeSpec[1] .ctor
+        Resolved: object..ctor
+        Signature: instance void()
+
+2: TypeSpec[4] .ctor
+        Resolved: int32 [, ]..ctor
+        Signature: instance void(int32, int32)
+
+3: TypeRef[6] InitializeArray
+        Resolved:
+[mscorlib]System.Runtime.CompilerServices.RuntimeHelpers.InitializeArray
+        Signature: void(class [mscorlib]System.Array, valuetype
+[mscorlib]System.RuntimeFieldHandle)
+
+-------------------------------