Author: martin
Date: 2005-05-11 13:59:52 -0400 (Wed, 11 May 2005)
New Revision: 44398

Modified:
   trunk/debugger/ChangeLog
   trunk/debugger/backends/mono/MonoLanguageBackend.cs
   trunk/debugger/backends/mono/MonoSymbolFile.cs
   trunk/debugger/wrapper/mono-debugger-jit-wrapper.h
   trunk/debugger/wrapper/wrapper.c
Log:
2005-05-11  Martin Baulig  <[EMAIL PROTECTED]>

        * wrapper/mono-debugger-jit-wrapper.h
        (MonoDebuggerInfo, MonoDebuggerManager): Changed the order of some
        fields to get proper alignment on 64-bit machines.

        * backends/mono/MonoSymbolFile.cs: Reflect latest JIT changes.
        * backends/mono/MonoLanguageBackend.cs: Likewise.



Modified: trunk/debugger/ChangeLog
===================================================================
--- trunk/debugger/ChangeLog    2005-05-11 17:56:50 UTC (rev 44397)
+++ trunk/debugger/ChangeLog    2005-05-11 17:59:52 UTC (rev 44398)
@@ -1,3 +1,12 @@
+2005-05-11  Martin Baulig  <[EMAIL PROTECTED]>
+
+       * wrapper/mono-debugger-jit-wrapper.h
+       (MonoDebuggerInfo, MonoDebuggerManager): Changed the order of some
+       fields to get proper alignment on 64-bit machines.
+
+       * backends/mono/MonoSymbolFile.cs: Reflect latest JIT changes.
+       * backends/mono/MonoLanguageBackend.cs: Likewise.
+
 2005-05-10  Chris Toshok  <[EMAIL PROTECTED]>
 
        * frontend/GnuReadLine.cs: remove the Instance stuff.

Modified: trunk/debugger/backends/mono/MonoLanguageBackend.cs
===================================================================
--- trunk/debugger/backends/mono/MonoLanguageBackend.cs 2005-05-11 17:56:50 UTC 
(rev 44397)
+++ trunk/debugger/backends/mono/MonoLanguageBackend.cs 2005-05-11 17:59:52 UTC 
(rev 44398)
@@ -40,12 +40,12 @@
                internal MonoDebuggerInfo (ITargetMemoryReader reader)
                {
                        /* skip past magic, version, and total_size */
-                       reader.Offset = (reader.TargetLongIntegerSize +
-                                        2 * reader.TargetIntegerSize);
+                       reader.Offset = 16;
 
+                       SymbolTableSize         = reader.ReadInteger ();
+                       HeapSize                = reader.ReadInteger ();
                        GenericTrampolineCode   = reader.ReadGlobalAddress ();
                        SymbolTable             = reader.ReadGlobalAddress ();
-                       SymbolTableSize         = reader.ReadInteger ();
                        CompileMethod           = reader.ReadGlobalAddress ();
                        GetVirtualMethod        = reader.ReadGlobalAddress ();
                        GetBoxedObjectMethod    = reader.ReadGlobalAddress ();
@@ -57,7 +57,6 @@
                        LookupType              = reader.ReadGlobalAddress ();
                        LookupAssembly          = reader.ReadGlobalAddress ();
                        Heap                    = reader.ReadAddress ();
-                       HeapSize                = reader.ReadInteger ();
 
                        Report.Debug (DebugFlags.JitSymtab, this);
                }
@@ -375,8 +374,8 @@
                        TargetAddress corlib_address = header.ReadGlobalAddress 
();
                        TargetAddress metadata_info = header.ReadGlobalAddress 
();
 
-                       int num_symbol_files = header.ReadInteger ();
                        TargetAddress symfiles_address = header.ReadAddress ();
+                       int num_symbol_files = header.ReadInteger ();
 
                        symfiles_address += last_num_symbol_files * 
memory.TargetAddressSize;
                        for (int i = last_num_symbol_files; i < 
num_symbol_files; i++) {
@@ -659,8 +658,8 @@
                }
 
                public TargetAddress GetTrampolineAddress (ITargetMemoryAccess 
memory,
-                                                   TargetAddress address,
-                                                   out bool is_start)
+                                                          TargetAddress 
address,
+                                                          out bool is_start)
                {
                        is_start = false;
 

Modified: trunk/debugger/backends/mono/MonoSymbolFile.cs
===================================================================
--- trunk/debugger/backends/mono/MonoSymbolFile.cs      2005-05-11 17:56:50 UTC 
(rev 44397)
+++ trunk/debugger/backends/mono/MonoSymbolFile.cs      2005-05-11 17:59:52 UTC 
(rev 44398)
@@ -42,9 +42,10 @@
                        Mode = (AddressMode) (Index & AddressModeFlags);
                        Index = (int) ((long) Index & ~AddressModeFlags);
 
-                       Report.Debug (DebugFlags.JitSymtab, "VARIABLE INFO: {0} 
{1} {2}", Mode, Index, arch);
+                       Report.Debug (DebugFlags.JitSymtab, "VARIABLE INFO: {0} 
{1} {2} {3} {4}",
+                                     Mode, Index, Offset, Size, arch);
 
-                       if (Mode == AddressMode.Register)
+                       if ((Mode == AddressMode.Register) || (Mode == 
AddressMode.RegOffset))
                                Index = arch.RegisterMap [Index];
 
                        Report.Debug (DebugFlags.JitSymtab, "VARIABLE INFO #1: 
{0}", Index);
@@ -131,8 +132,10 @@
                        // here we read the MonoDebugMethodAddress structure
                        // as written out in mono_debug_add_method.
                        reader.Position = 16;
+                       int code_size = reader.ReadInt32 ();
+                       reader.ReadInt32 ();
                        StartAddress = ReadAddress (reader, domain);
-                       EndAddress = StartAddress + reader.ReadInt32 ();
+                       EndAddress = StartAddress + code_size;
                        WrapperAddress = ReadAddress (reader, domain);
                        ReadAddress (reader, domain);
 

Modified: trunk/debugger/wrapper/mono-debugger-jit-wrapper.h
===================================================================
--- trunk/debugger/wrapper/mono-debugger-jit-wrapper.h  2005-05-11 17:56:50 UTC 
(rev 44397)
+++ trunk/debugger/wrapper/mono-debugger-jit-wrapper.h  2005-05-11 17:59:52 UTC 
(rev 44398)
@@ -18,9 +18,10 @@
        guint64 magic;
        guint32 version;
        guint32 total_size;
+       guint32 symbol_table_size;
+       guint32 heap_size;
        guint8 **generic_trampoline_code;
        MonoSymbolTable **symbol_table;
-       guint32 symbol_table_size;
        guint64 (*compile_method) (guint64 method_argument);
        guint64 (*get_virtual_method) (guint64 object_argument, guint64 
method_argument);
        guint64 (*get_boxed_object_method) (guint64 klass_argument, guint64 
val_argument);
@@ -32,7 +33,6 @@
        guint64 (*lookup_type) (guint64 dummy_argument, const gchar 
*string_argument);
        guint64 (*lookup_assembly) (guint64 dummy_argument, const gchar 
*string_argument);
        gpointer heap;
-       guint32 heap_size;
 };
 
 /*
@@ -51,8 +51,8 @@
        guint32 thread_size;
        gpointer main_function;
        gpointer notification_address;
+       MonoDebuggerThread *main_thread;
        guint32 main_tid;
-       MonoDebuggerThread *main_thread;
 };
 
 enum {

Modified: trunk/debugger/wrapper/wrapper.c
===================================================================
--- trunk/debugger/wrapper/wrapper.c    2005-05-11 17:56:50 UTC (rev 44397)
+++ trunk/debugger/wrapper/wrapper.c    2005-05-11 17:59:52 UTC (rev 44398)
@@ -36,9 +36,10 @@
        MONO_DEBUGGER_MAGIC,
        MONO_DEBUGGER_VERSION,
        sizeof (MonoDebuggerInfo),
+       sizeof (MonoSymbolTable),
+       HEAP_SIZE,
        &mono_generic_trampoline_code,
        &mono_symbol_table,
-       sizeof (MonoSymbolTable),
        &debugger_compile_method,
        &debugger_get_virtual_method,
        &debugger_get_boxed_object,
@@ -49,8 +50,7 @@
        &debugger_class_get_static_field_data,
        &debugger_lookup_type,
        &debugger_lookup_assembly,
-       mono_debugger_heap,
-       HEAP_SIZE
+       mono_debugger_heap
 };
 
 MonoDebuggerManager MONO_DEBUGGER__manager = {

_______________________________________________
Mono-patches maillist  -  [email protected]
http://lists.ximian.com/mailman/listinfo/mono-patches

Reply via email to