Hi, all
 
I'm working on a project related to Mono. In this project, I want to translate a external event (such as timer expires in OS) to an exception of Mono's managed code:
 
Timer expires-> ISR -> some function in Mono runtime -> exception thrown to
 
I found some functions in /mono-0.19/mono/jit/exception.c and /mono-0.19/mono/jit/codegen-x86.c. I'm wondering if I can call mono_burg_emit_14() to throw the exception. But I don't know what the parameters s->code and thre->left->reg1 mean.
 
static void /* stmt: THROW(reg) */
mono_burg_emit_14 (MBTREE_TYPE *tree, MBCGEN_TYPE *s)
{
 
    gpointer target;
 
    x86_push_reg (s->code, tree->left->reg1);
    target = arch_get_throw_exception ();
    mono_add_jump_info (s, s->code, MONO_JUMP_INFO_ABS, target);
    x86_call_code (s->code, target);
   
}
 
Could anybody give me some advice or recommend some materials for me?
 
Thanks a lot!
 
Victor

Reply via email to