RE: [Mono-list] Remaining S/390 JIT issues

2004-07-14 Thread Varga Zoltan

  Hi,

   I know nothing about S390, but maybe this stuff can be
handled
by adding more arch specific macros/functions, like 
MONO_ARCH_IP_IN_CLAUSE(ctx,clause).

   Zoltan

-Original Message-
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] Behalf Of ext 
Sent: Tuesday, July 13, 2004 7:47 PM
To: [EMAIL PROTECTED]
Subject: RE: [Mono-list] Remaining S/390 JIT issues


There's a couple of idiosycracies with S390. For example, in
the exception8 test:

using System;

public class TryTest {
public static void ThrowException() {
throw new Exception();
}

public static int Main() {
int state = 0;

try {
ThrowException();
try {
Console.WriteLine(In try
block);
} catch (Exception e) {
state = 1;
   
Console.WriteLine();
Console.WriteLine(e);
   
Console.WriteLine();
}
} catch {
state = 2;
}

if (state != 2)
return 1;

Console.WriteLine(OK);
return 0;
}
}

The result of the ThrowException() is that the IP is
pointing at the first instruction of the try {
Console.WriteLine (In try Block); block so that the test
in mono_handle_exception()

if (ei-try_start = MONO_CONTEXT_GET_IP (ctx) 

would result in the wrong catch being used to field the
exception.


-Original Message-
 Hi,

  Great work ! You might want to try modifying the S390 port
to use the
arch-independent exception handling 

___
Mono-list maillist  -  [EMAIL PROTECTED]
http://lists.ximian.com/mailman/listinfo/mono-list


RE: [Mono-list] Remaining S/390 JIT issues

2004-07-13 Thread Neale.Ferguson



There's a couple of idiosycracies with S390. 
For example, in the exception8 test:using System;public class TryTest 
{ public static void 
ThrowException() 
{ 
throw new Exception(); 
} public static int Main() 
{ 
int state = 
0; 
try 
{ 
ThrowException(); 
try 
{ 
Console.WriteLine("In try 
block"); 
} catch (Exception e) 
{ 
state = 
1; 
Console.WriteLine(""); 
Console.WriteLine(e); 
Console.WriteLine(""); 
} 
} catch 
{ 
state = 
2; 
} 
if (state != 
2) 
return 
1; 
Console.WriteLine("OK"); 
return 0; 
}}The result of the ThrowException() is that 
theIP is pointing at the first instruction of the "try { Console.WriteLine ("In try Block");" block so that the test in mono_handle_exception()if (ei-try_start = MONO_CONTEXT_GET_IP (ctx) 
would result in the wrong catch 
being used to field the exception.-Original 
Message- 
Hi, Great work ! You might want to try modifying the S390 
portto use thearch-independent exception handling code in 
mini-exceptions.c.