Author: martin
Date: 2005-09-23 14:10:45 -0400 (Fri, 23 Sep 2005)
New Revision: 50607
Modified:
trunk/debugger/backends/TargetAccess.cs
trunk/debugger/backends/mono/MonoFundamentalType.cs
trunk/debugger/backends/mono/MonoLanguageBackend.cs
trunk/debugger/backends/mono/MonoStringType.cs
trunk/debugger/interfaces/ITargetAccess.cs
Log:
2005-09-23 Martin Baulig <[EMAIL PROTECTED]>
* backends/mono/MonoFundamentalType.cs
(MonoFundamentalType.ctor): Just take an `ILanguage' instead of a
`MonoSymbolFile'; removed the `klass_address' argument.
* backends/mono/MonoObjectType.cs
(MonoObjectType.ctor): Removed the `klass_address' argument.
* backends/mono/MonoStringType.cs
(MonoStringtype.ctor): Removed the `klass_address' argument.
Modified: trunk/debugger/backends/TargetAccess.cs
===================================================================
--- trunk/debugger/backends/TargetAccess.cs 2005-09-23 18:09:41 UTC (rev
50606)
+++ trunk/debugger/backends/TargetAccess.cs 2005-09-23 18:10:45 UTC (rev
50607)
@@ -46,6 +46,9 @@
public abstract TargetAddress CallMethod (TargetAddress method,
TargetAddress arg1,
TargetAddress arg2);
+ public abstract TargetAddress CallMethod (TargetAddress method,
long method_argument,
+ string
string_argument);
+
public abstract void RuntimeInvoke (ITargetFunctionType
method_argument,
ITargetObject
object_argument,
ITargetObject[]
param_objects);
@@ -123,6 +126,12 @@
return process.CallMethod (method, arg1, arg2);
}
+ public override TargetAddress CallMethod (TargetAddress method,
long method_argument,
+ string
string_argument)
+ {
+ return process.CallMethod (method, method_argument,
string_argument);
+ }
+
public override void RuntimeInvoke (ITargetFunctionType
method_argument,
ITargetObject
object_argument,
ITargetObject[]
param_objects)
@@ -193,6 +202,15 @@
return sse.Process.CallMethod (method, arg1,
arg2);
}
+ public override TargetAddress CallMethod (TargetAddress method,
long method_argument,
+ string
string_argument)
+ {
+ if (sse.ThreadManager.InBackgroundThread)
+ throw new InvalidOperationException ();
+ else
+ return sse.Process.CallMethod (method,
method_argument, string_argument);
+ }
+
public override void RuntimeInvoke (ITargetFunctionType
method_argument,
ITargetObject
object_argument,
ITargetObject[]
param_objects)
Modified: trunk/debugger/backends/mono/MonoFundamentalType.cs
===================================================================
--- trunk/debugger/backends/mono/MonoFundamentalType.cs 2005-09-23 18:09:41 UTC
(rev 50606)
+++ trunk/debugger/backends/mono/MonoFundamentalType.cs 2005-09-23 18:10:45 UTC
(rev 50607)
@@ -93,17 +93,9 @@
}
}
- internal virtual MonoFundamentalObjectBase CreateInstance
(StackFrame frame, object obj)
+ internal virtual MonoFundamentalObjectBase CreateInstance
(ITargetAccess target,
+
object obj)
{
- TargetAddress address = Language.AllocateMemory
(frame.TargetAccess, size);
- frame.TargetAccess.TargetMemoryAccess.WriteBuffer
(address, CreateObject (obj));
-
- TargetLocation location = new AbsoluteTargetLocation
(frame.TargetAccess, address);
- return new MonoFundamentalObject (this, location);
- }
-
- internal virtual MonoFundamentalObject CreateInstance
(ITargetAccess target, object obj)
- {
TargetAddress address = Language.AllocateMemory
(target, size);
target.TargetMemoryAccess.WriteBuffer (address,
CreateObject (obj));
Modified: trunk/debugger/backends/mono/MonoLanguageBackend.cs
===================================================================
--- trunk/debugger/backends/mono/MonoLanguageBackend.cs 2005-09-23 18:09:41 UTC
(rev 50606)
+++ trunk/debugger/backends/mono/MonoLanguageBackend.cs 2005-09-23 18:10:45 UTC
(rev 50607)
@@ -835,7 +835,7 @@
if (type == null)
return null;
- return type.CreateInstance (frame, obj);
+ return type.CreateInstance (frame.TargetAccess, obj);
}
public ITargetFundamentalObject CreateInstance (ITargetAccess
target, int value)
Modified: trunk/debugger/backends/mono/MonoStringType.cs
===================================================================
--- trunk/debugger/backends/mono/MonoStringType.cs 2005-09-23 18:09:41 UTC
(rev 50606)
+++ trunk/debugger/backends/mono/MonoStringType.cs 2005-09-23 18:10:45 UTC
(rev 50607)
@@ -45,14 +45,15 @@
return retval;
}
- internal override MonoFundamentalObjectBase CreateInstance
(StackFrame frame, object obj)
+ internal override MonoFundamentalObjectBase CreateInstance
(ITargetAccess target,
+
object obj)
{
string str = obj as string;
if (str == null)
throw new ArgumentException ();
- TargetAddress retval = frame.Process.CallMethod
(CreateString, 0, str);
- TargetLocation location = new AbsoluteTargetLocation
(frame, retval);
+ TargetAddress retval = target.CallMethod
(CreateString, 0, str);
+ TargetLocation location = new AbsoluteTargetLocation
(target, retval);
return new MonoStringObject (this, location);
}
Modified: trunk/debugger/interfaces/ITargetAccess.cs
===================================================================
--- trunk/debugger/interfaces/ITargetAccess.cs 2005-09-23 18:09:41 UTC (rev
50606)
+++ trunk/debugger/interfaces/ITargetAccess.cs 2005-09-23 18:10:45 UTC (rev
50607)
@@ -31,6 +31,9 @@
TargetAddress CallMethod (TargetAddress method, TargetAddress
arg1,
TargetAddress arg2);
+ TargetAddress CallMethod (TargetAddress method, long
method_argument,
+ string string_argument);
+
void RuntimeInvoke (ITargetFunctionType method_argument,
ITargetObject object_argument,
ITargetObject[] param_objects);
_______________________________________________
Mono-patches maillist - [email protected]
http://lists.ximian.com/mailman/listinfo/mono-patches