[Mono-dev] [Mono-patches] r128544 - in trunk/mono/mono: metadata mini

Zoltan Varga vargaz at gmail.com
Wed Mar 4 10:49:34 EST 2009


Hi Martin,

  On an unrelated note, the JIT can now generate precise live range
info for variables,
it is stored in MonoMethodVar->{live_range_start,live_range_end}.
Those two fields contain
the exact native range the variable's value can be found in its location.

                        Zoltan

On Wed, Mar 4, 2009 at 4:39 PM, Martin Baulig <martin at ximian.com> wrote:
> On Wed, 2009-03-04 at 11:34 -0300, Rodrigo Kumpera wrote:
>
>> On Wed, Mar 4, 2009 at 11:16 AM, Martin Baulig
>> <mono-patches-list at lists.ximian.com> wrote:
>>         Author: martin
>>         Date: 2009-03-04 09:16:55 -0500 (Wed, 04 Mar 2009)
>>         New Revision: 128544
>>
>>         Modified:
>>           trunk/mono/mono/mini/exceptions-amd64.c
>>           trunk/mono/mono/mini/exceptions-x86.c
>>
>>
>> Both these files have a nearly identical debugger_handle_exception
>> function. Please move it to an arch neutral file
>> and, if you need so, add new mono_arch calls to handle the
>> non-portable parts. If you're in doubt how to proceed with
>> this, please ask.
>
> Hi Rodrigo,
>
> I moved that into debug-mini.c and also cleaned up the API a lot and
> added some more documentation.
>
> There are now only two public API entry points:
> mono_debugger_handle_exception() and
> mono_debugger_call_exception_handler() and they also have some API
> documentation.
>>
>> On a side note, most of this code deviates a lot from how a hard-mode
>> debugger operates, is it your intention to move
>> mdb to be a soft-mode debugger?
>
> What do you mean by hard mode or soft mode ?
>
> My intention was simply cleaning up and improving the badly broken old
> API, which never really worked wrt unhandled exception.
>
> For instance, in the old code, we were not telling the debugger the
> correct %eip and %esp when calling it from inside
> mono_handle_exception_internal() - because only the arch-specific code
> could know that.
>
> The other big change is that the debugger may now decide whether it
> wants to stop when the exception is thrown or only if it's
> user-unhandled - this was required by MonoVS.
>
> Besides that, I also fixed all the race conditions where two or more
> threads were throwing exceptions - or if the user did a func-eval while
> stopped at the exception.
>
> Martin
>
>
> _______________________________________________
> Mono-devel-list mailing list
> Mono-devel-list at lists.ximian.com
> http://lists.ximian.com/mailman/listinfo/mono-devel-list
>


More information about the Mono-devel-list mailing list