harmony-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Alexei Fedotov" <alexei.fedo...@gmail.com>
Subject [drlvm][ti] thread unsafe global list of compiled stubs
Date Fri, 08 Dec 2006 01:12:49 GMT
Gregory, Ilya, TI gurus,

Could you please help me to understand why do we need a global list of
ia32 specific code chunks VM_Global_State::loader_env->dcList? Cannot
we use good old CodeChunkInfo structure?

I have noticed that access to the list is not thread safe (you put
TODO comment here). Does it mean we have some intermittent crashes due
to this issue?


On 12/8/06, Alexei Fedotov <alexei.fedotov@gmail.com> wrote:
> Gregory, All,
>
> I started looking into the compile.cpp file and found new ti callbacks
> in compile_jit_a_method jit stub. I've got several questions.
>
> DebugUtilsTI *ti = VM_Global_State::loader_env->TI;
> if(ti->isEnabled() && ti->is_single_step_enabled()
>    && !method->is_native())
> {
>    jvmti_set_single_step_breakpoints_for_method(ti, p_TLS_vmthread, method);
> }
>
> * Why ti->isEnabled() checks are repeated inside and outside the call
> to jvmti_set_single_step_breakpoints_for_method()?
> * Why not to use compile_do_compilation_jit() function for this
> callback - this function is called for java methods?
> * Is it ok to use a global ti environment? Can we hide access to the
> environment on your side as it is done in other functions to avoid
> touching this code later when you decide to support multiple
> environments?
>
> The questions are probably quite easy for you to answer, but I
> hesitate that I missed some basics and ask you to comment.
>
> --
> With best regards,
> Alexei,
> ESSD, Intel
>


-- 
With best regards,
Alexei,
ESSD, Intel

Mime
View raw message