harmony-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Alexei Fedotov <alexei.fedo...@gmail.com>
Subject Re: [drlvm][vmcore]a problem about CodeChunkInfo
Date Wed, 18 Feb 2009 18:33:53 GMT
Hello Icyrong,
Does the problem you have described happen after your modifications only?

Thanks!


On Wed, Feb 18, 2009 at 5:03 AM, 史成荣 <icyrong@gmail.com> wrote:
> hi, all.
>    I modify the vmcore, but an assert error happened when the method
> "si_goto_previous" in stack_iterator_ia32.cpp is executed. The souce code of
> method "si_goto_previous" is as follow. The bold line is the error assert
> and it is the second condition " si->cci->get_method()" that makes the whole
> express false.
>    Could anyone tell me why the "_method" field of  "si->cci" is NULL and
> when it will happen?
> void si_goto_previous(StackIterator* si, bool over_popped)
> {
>    ASSERT_NO_INTERPRETER
>    if (si->cci) {
>        TRACE2("si", ("si_goto_previous from ip = %p (%s%s)",
>            (void*)si_get_ip(si),
>            method_get_name(si->cci->get_method()),
>            method_get_descriptor(si->cci->get_method())));
>        *assert(si->cci->get_jit() && si->cci->get_method());
> *        si->cci->get_jit()->unwind_stack_frame(si->cci->get_method(),
> si_get_jit_context(si));
>        si->c.is_ip_past = TRUE;
>    } else {
>        TRACE2("si", ("si_goto_previous from ip = %p (M2N)",
>            (void*)si_get_ip(si)));
>        if (!si->m2nfl) return;
>        si_unwind_from_m2n(si, over_popped);
>    }
>    Global_Env *vm_env = VM_Global_State::loader_env;
>    si->cci = vm_env->vm_methods->find(si_get_ip(si),
> si_get_jit_context(si)->is_ip_past);
>    if (si->cci) {
>        TRACE2("si", ("si_goto_previous to ip = %p (%s%s)",
>            (void*)si_get_ip(si),
>            method_get_name(si->cci->get_method()),
>            method_get_descriptor(si->cci->get_method())));
>    } else {
>        TRACE2("si", ("si_goto_previous to ip = %p (M2N)",
>            (void*)si_get_ip(si)));
>    }
> }
>



-- 
С уважением,
Алексей Федотов,
ЗАО <<Телеком Экспресс>>

Mime
View raw message